• Mimicking TravisCI with Jenkins

    by  • February 6, 2013 • PHP, Tips and Tricks, Tools • 1 Comment

    We are all awaiting the day when all of us can get TravisCI Pro and get all of that testing goodness into our private repositories right? And by that I mean, having our PRs annotated with build status, running automated tests and such.

    Well, there is a work around to it, if you use Jenkins as your CI server. We have now set this up on our private repositories and it works like a charm!

    Setting up Jenkins to annotate PRs

    Considering you already have a setup of Jenkins that works with GitHub repositories but does builds based on watching master, this is what you need to get going with annotating PRs:

    1. Upgrade Jenkins to v1.500+
    2. Install the GitHub pull request builder plugin
    3. Follow the setup steps detailed on that page.
      • Admins and whitelist users should be placed one per line.
      • In global settings: you can leave Access Token blank
      • Your “bot” user must have pull/push permissions
    4. Sit back and watch PR annotation goodness
    5. I do recommend that you make this a simple build: unit tests and coding standard checks only, you want this to be quick, so I also turn off code coverage analysis.

    This is what shows up on our PRs:

    Build Status by Jenkins

    You can also use comments to trigger re-builds, or allow builds on non-whitelist uses.

    About

    Rafael Dohms is an experienced PHP Developer, Evangelist, Speaker and Contributor. During his years of experience he has become an active member of the community and founded 3 User Groups. He moved to the Netherlands to integrate the WEBclusive team and share his passion for code quality and innovation in the Crowd funding world. In his spare time he also helps manage the AmsterdamPHP User Group, amongst other projects.

    http://doh.ms

    One Response to Mimicking TravisCI with Jenkins

    1. Pingback: Revue de presse industrialisation semaines 19-20 | Industrialisation PHP

    Leave a Reply