Not yet, I'm just back from the conference. Need to apply some suggestions from 
Robert and Jesse and then it'll be ready for publishing.

Luca

Sent from my iPhone

> On 1 Sep 2017, at 07:42, Cuong Tran <[email protected]> wrote:
> 
> Hi Luca,
> 
> Have you had a chance to publish this to github?
> 
>> On Friday, August 18, 2017 at 2:17:00 AM UTC-7, Luca Milanesio wrote:
>> Posting to the jenkinsci-users mailing list as well: even if I mainly needed 
>> feedback from the plugins developers, feedback from a user-perspective of 
>> the new plugin would be *really appreciated* as well :-)
>> 
>> -- See below the original post --
>> 
>> Hi Gerrit and Jenkins Community,
>> after over two years of iterations and improvements of the Gerrit CI 
>> workflow (https://gerrit-ci.gerritforge.com), I have decided that is about 
>> time to extract the logic of our workflow and make it available as a 
>> brand-new Jenkins plugin!
>> 
>> Why?
>> I wanted to use the Gerrit CI validation workflow with potentially any 
>> project, including Gerrit plugins or anybody else wanting to adopt it.
>> I could just "copy & paste" our Groovy workflow, however, that does not seem 
>> a sensible and long-term approach.
>> I wanted to have "something more" than a pure triggering mechanism: I wanted 
>> to extend the power of Jenkisfile with the Gerrit review workflow verbs.
>> 
>> Why not?
>> Why should I write yet another Gerrit/Jenkins plugin? Isn't Gerrit Trigger 
>> Plugin (https://wiki.jenkins.io/display/JENKINS/Gerrit+Trigger) enough?
>> We couldn't use it against gerrit-review.googlesource.com because stream 
>> events are just not accessible.
>> 
>> There are unresolved issues about:
>> - Stability: stream-events are based on SSH, which isn't scalable, reliable 
>> against downtime, etc.
>> - Usability: at every JenkinsWorld conference people still come to me asking 
>> "how do I setup correct the Gerrit Trigger plugin"?
>> - Integration: using it inside a JenkinsFile isn't that straightforward and 
>> multi-branch projects aren't supported either
>> 
>> What would it be?
>> I will publish a new plugin named "Gerrit Pipeline Plugin."
>> The new name indicates:
>> - Deep integration with Jenkins Pipeline
>> - Out-of-the-box integration with Gerrit validation workflow in the pipeline
>> 
>> A simple example scripted Jenkinsfile would be:
>> 
>> node {
>>     checkout scm
>> 
>>     gerrit.withServer("http://gerrit:8080/";, "gerrit") {
>> 
>>         try {
>>             docker.image('gerritforge/play-sbt-8-jdk-alpine').inside {
>>                 stage('Build') {
>>                     sh 'sbt compile'
>>                 }
>>                 stage('Test') {
>>                     sh 'sbt 'test'
>>                 }
>>             }
>> 
>>             gerrit.review("Verified", 1, "It works !")
>>         } catch (e) {
>>             gerrit.review("Verified", -1, "Breaks the build ;-(")
>>             throw e
>>         }
>>     }
>> }
>> 
>> (Where:
>> - https://gerrit-review.example.com would be the Gerrit URL
>> - mycredentialsid would be the id of the credentials to access Gerrit)
>> 
>> One key-aspect will be: stateless, configuration-less (apart from the 
>> credentials stored in Jenkins keychain)
>> That means that multiple Jobs, multiple branches of the same Job, can have 
>> their own Gerrit integration defined and working out-of-the-box.
>> 
>> No more people asking "how do I configure the Gerrit integration"?
>> You'll just define a gerrit.withServer() { } and ... it will just work.
>> 
>> When?
>> I am planning to showcase the first prototype of the new plugin at the 
>> Jenkins World Conference in San Francisco inside my "Data-Driven Pipeline 
>> workshop."
>> (https://jenkinsworld20162017.sched.com/event/APTd/data-driven-pipeline-workshop-free)
>> Shortly afterward, I will publish the plugin on the GerritForge's GitHub 
>> account and will start the integration process into the Jenkins CI 
>> organization.
>> 
>> Next steps?
>> A second iteration of the plugin would have a Declarative pipeline 
>> equivalent as well, which would require even less code required.
>> A third iteration of the plugin would support BlueOcean as well, to have a 
>> fully UX-integrated experience.
>> The goal is to have Gerrit Code Review to be a 1st class citizen in the 
>> Jenkins ecosystem :-)
>> 
>> So what happens to the Gerrit Trigger Plugin?
>> The new plugin is not going to replace the current Gerrit Trigger Plugin, 
>> but would rather represent an alternative to simpler scenarios when you just 
>> require a standard Jenkinsfile Gerrit validation workflow. For all the 
>> current users of the Gerrit Trigger Plugin things wouldn't change, unless 
>> they need a more Jenkisfile-integrated experience.
>> 
>> Feedback? Like it? Hate it? Have your say :-)
>> 
>> Luca.
>> 
>> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jenkinsci-users/2c459ab4-cc59-42b4-a02d-92a1069a56fa%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/D167FBB3-3B24-4864-AB56-B7F377ADFE04%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to