1 / 16

Pre-Tested Commits with Jenkins and Reviewboard

Pre-Tested Commits with Jenkins and Reviewboard. Yardena Meymann VMware http://www.vmware.com/. @ jenkinsconf. About our team. Developing a new product for IT financial management ≈30 engineers, Israel and Bangalore

huslu
Download Presentation

Pre-Tested Commits with Jenkins and Reviewboard

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware http://www.vmware.com/ @jenkinsconf

  2. 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. Typical developer workflow

  4. But what if things go wrong? • Build failure

  5. Solution: pre-tested commits

  6. Inspiration GitHub- CloudBees JetBrains TeamCity Gerrit

  7. 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. Reviewboard

  9. Reviewboard

  10. Reviewboard

  11. Jenkins Patch Parameter plugin Create a job which is a copy of the “regular” main line build, but with a patch parameter

  12. 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. And now… Demo

  14. 1. trigger Jenkins Reviewbot architecture 0. submit diff for review @ @ @ 2. retrieve the diff 5. Jenkins approval 3. apply patch and build 3+. peer approval Reviewboard server Jenkins server 4. post build result 6.push request comments 2+. provide comments git

  15. 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

  16. Thank You To Our Sponsors

More Related