Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Jenkins Reviewbot

4,198 views

Published on

Presentation from Jenkins User Conference in Israel 2013

Published in: Technology, News & Politics
  • Be the first to comment

Jenkins Reviewbot

  1. 1. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware http://www.vmware.com/ @jenkinsconf
  2. 2. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf About our team Developing a new product for IT financial management ≈30 engineers, Israel and Bangalore Infrastructure: Virtual Appliance, Linux, Java, Spring, tcServer, vPostgres, ExtJS Development: Git, Maven, IntelliJ, Bugzilla, Reviewboard, Jenkins (compilation, static analysis, tests, code coverage)
  3. 3. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Typical developer workflow Code Test locally Peer review Push See Jenkins results
  4. 4. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf But what if things go wrong? Code Test locally Peer review Push See Jenkins results Build failure
  5. 5. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Solution: pre-tested commits Code Test locally See Jenkins results Peer Review Push
  6. 6. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Inspiration GitHub - CloudBees JetBrains TeamCity Gerrit
  7. 7. Jenkins User Conference Israel , 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
  8. 8. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Reviewboard
  9. 9. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Reviewboard
  10. 10. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Reviewboard
  11. 11. Jenkins User Conference Israel , 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
  12. 12. Jenkins User Conference Israel , 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)
  13. 13. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf 1. trigger Jenkins Reviewbot architecture Reviewboard server Jenkins server 3. apply patch and build 0. submit diff for review 2. retrieve the diff 5. Jenkins approval@ 3+. peer approval@ 4. post build result git 6.push
  14. 14. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf DEMO And now…
  15. 15. Jenkins User Conference Israel , 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
  16. 16. Jenkins User Conference Israel , 06 June 2013 #jenkinsconf Thank You To Our Sponsors

×