Mimicking TravisCI with Jenkins

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.

One thought on “Mimicking TravisCI with Jenkins

Comments are closed.