Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Running Pull Request Builds with Jenkins

DZone's Guide to

Running Pull Request Builds with Jenkins

· Java Zone
Free Resource

Download Microservices for Java Developers: A hands-on introduction to frameworks and containers. Brought to you in partnership with Red Hat.

The joind.in projects are set up so that the build process runs on pull requests when they are opened, which is great! It means that contributors don't have to wait for one of the maintainers to look at it, only to reject the contribution on something that could be picked up automatically. I've had a few questions about the setup so I thought I'd share how it works.

There are a few moving parts here:

We have our build tasks described with phing, so we created new Jenkins jobs to wrap the same phing task that we use for building the project but configured to accept the specific commits that were coming in via pull request. When the new pull request gets opened, it immediately shows up something like this:

commit-status-waiting

And when it's good to go:

commit-status-ok

It's super-helpful to see if a test will fail on our build platform, or if there's a syntax or coding style problem - and it gives immediate, quality-oriented feedback to all our contributors. I'd definitely want to use this again with other teams so I thought I'd mention it here.

Also related: A very useful post that we referred to when setting this up, which you can find athttp://blog.kabisa.nl/2013/11/05/building-github-pull-requests-with-jenkins/

Download Modern Java EE Design Patterns: Building Scalable Architecture for Sustainable Enterprise Development.  Brought to you in partnership with Red Hat

Topics:

Published at DZone with permission of Lorna Mitchell, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}