jenkins user conference jenkins user conference israel, 06 june 2013 #jenkinsconf pre-tested commits...
TRANSCRIPT
![Page 1: Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c725503460f94924812/html5/thumbnails/1.jpg)
Jenkins User ConferenceIsrael , 06 June 2013 #jenkinsconf
Pre-Tested Commits with Jenkins and Reviewboard
Yardena MeymannVMwarehttp://www.vmware.com/
@jenkinsconf
![Page 2: Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c725503460f94924812/html5/thumbnails/2.jpg)
Jenkins User ConferenceIsrael , 06 June 2013 #jenkinsconf
About our team
Developing a new product for IT financial management≈30 engineers, Israel and BangaloreInfrastructure: Virtual Appliance, Linux, Java, Spring, tcServer, vPostgres, ExtJSDevelopment: Git, Maven, IntelliJ, Bugzilla, Reviewboard, Jenkins (compilation, static analysis, tests, code coverage)
![Page 3: Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c725503460f94924812/html5/thumbnails/3.jpg)
Jenkins User ConferenceIsrael , 06 June 2013 #jenkinsconf
Typical developer workflow
![Page 4: Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c725503460f94924812/html5/thumbnails/4.jpg)
Jenkins User ConferenceIsrael , 06 June 2013 #jenkinsconf
But what if things go wrong?
Build failure
![Page 5: Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c725503460f94924812/html5/thumbnails/5.jpg)
Jenkins User ConferenceIsrael , 06 June 2013 #jenkinsconf
Solution: pre-tested commits
![Page 6: Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c725503460f94924812/html5/thumbnails/6.jpg)
Jenkins User ConferenceIsrael , 06 June 2013 #jenkinsconf
Inspiration
GitHub - CloudBees
JetBrains TeamCity
Gerrit
![Page 7: Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c725503460f94924812/html5/thumbnails/7.jpg)
Jenkins User ConferenceIsrael , 06 June 2013 #jenkinsconf
Reviewboard
• http://www.reviewboard.org/• Open source code review tool developed
at VMware• Can be used from command line or via
web• Written in Python, cross-platform client• Integration with SVN, Git and (of course)
Perforce• Can send e-mails for reviews and
comments
![Page 8: Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c725503460f94924812/html5/thumbnails/8.jpg)
Jenkins User ConferenceIsrael , 06 June 2013 #jenkinsconf
Reviewboard
![Page 9: Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c725503460f94924812/html5/thumbnails/9.jpg)
Jenkins User ConferenceIsrael , 06 June 2013 #jenkinsconf
Reviewboard
![Page 10: Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c725503460f94924812/html5/thumbnails/10.jpg)
Jenkins User ConferenceIsrael , 06 June 2013 #jenkinsconf
Reviewboard
![Page 11: Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c725503460f94924812/html5/thumbnails/11.jpg)
Jenkins User ConferenceIsrael , 06 June 2013 #jenkinsconf
Jenkins Patch Parameter plugin
Create a job which is a copy of the “regular” main line build, but with a patch parameter
![Page 12: Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c725503460f94924812/html5/thumbnails/12.jpg)
Jenkins User ConferenceIsrael , 06 June 2013 #jenkinsconf
Integrating Reviewboard and Jenkins
• Developer posts review• Patch job is triggered via Jenkins API• Instead of patch file, we pass review URL• Jenkins downloads the diff using
Reviewboard API, applies it and builds the project
• Jenkins reports the build result by sending a comment to Reviewboard (via API)
![Page 13: Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c725503460f94924812/html5/thumbnails/13.jpg)
Jenkins User ConferenceIsrael , 06 June 2013 #jenkinsconf
DEMOAnd now…
![Page 14: Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c725503460f94924812/html5/thumbnails/14.jpg)
Jenkins User ConferenceIsrael , 06 June 2013 #jenkinsconf
1. trigger
Jenkins Reviewbot architecture
Reviewboardserver
Jenkinsserver
3. apply patch and build
0. submit diff for review
2. retrieve the diff
1.request
comments @
5. Jenkinsapproval@
3+. peer approval@
2+. provide
comments
4. post build result
git
6.p
ush
![Page 15: Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c725503460f94924812/html5/thumbnails/15.jpg)
Jenkins User ConferenceIsrael , 06 June 2013 #jenkinsconf
Gory details
• Developed a “Reviewbot” plugin – extension of the Patch Parameter plugin
• A wrapper script to postreview – plan to replace it with a trigger based on mail
• Currently in process of approving the release to open-source
![Page 16: Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c725503460f94924812/html5/thumbnails/16.jpg)
Jenkins User ConferenceIsrael , 06 June 2013 #jenkinsconf
Thank You To Our Sponsors