Presentation is loading. Please wait.

Presentation is loading. Please wait.

Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware.

Similar presentations


Presentation on theme: "Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware."— Presentation transcript:

1 Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware http://www.vmware.com/@jenkinsconf

2 Jenkins User Conference 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 Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Typical developer workflow Code Test locally Peer review Push See Jenkins results

4 Jenkins User Conference 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 Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Solution: pre-tested commits Code Test locally See Jenkins results Peer Review Push

6 Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Inspiration GitHub - CloudBees JetBrains TeamCity Gerrit

7 Jenkins User Conference 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 Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Reviewboard

9 Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Reviewboard

10 Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Reviewboard

11 Jenkins User Conference 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 Jenkins User Conference 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 Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf DEMO And now…

14 Jenkins User Conference 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 0. submit diff for review 2. retrieve the diff 1.request comments 1.request comments @ 5. Jenkins approval 5. Jenkins approval @ 3+. peer approval 3+. peer approval @ 2+. provide comments 4. post build result git 6.push

15 Jenkins User Conference 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 Currently in process of approving the release to open-source

16 Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Thank You To Our Sponsors


Download ppt "Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware."

Similar presentations


Ads by Google