Wednesday, July 6, 2011

Five Reasons Why Developers Choose Jenkins Over Hudson for Continuous Integration

A quick history lesson -- Jenkins, previously known as Hudson, is an open source continuous integration tool written in Java. Last November concern arose in the community around Oracle's perceived control of the Hudson project (including the name itself, for which Oracle submitted a trademark in December 2010). In early 2011, the community proposed and ultimately approved renaming the code to Jenkins and continue development on the tool, leaving Oracle in control of the original Hudson code. Oracle responded in February by announcing their commitment to continue their own development of Hudson, and in May, submitted a proposal to the Eclipse Foundation to create a Hudson project in Eclipse.

So, now that there are two continuous integration tools written in Java, why should a developer choose one over the other? Below are five reasons to choose Jenkins.

1. Led by developers for developers
First and foremost, the developers who wrote 99% of the core of Hudson are now working on Jenkins, including Kohsuke Kawaguchi, the original creator. He wrote the majority of code single-handedly and his range of expertise was a key enabler in various advanced features of Hudson. Currently, Jenkins has all but one original Hudson committer on its side (48 different people have submitted commits since the split) and there's been a significant increase in overall contributions. To date there have been:
    - 733 total commits (compared to 172 previously)
    - 170 pull requests (compared to 20 previously)
    - 94 publicized committers on GitHub (compared to 4 previously)
    - 496 repositories (compared to 1 previously)

2. Governance and Community
The community managing the Jenkins project is very open. There is an independent board that includes long time Hudson developers from multiple companies including Yahoo!, CloudBees, Cloudera and Apture. They hold regular governance meetings and post notes after each meeting for public comment. They're also donating all the code to Software in the Public Interest (SPI) to assure continued openness of the community.

3. Stability
As we see the increase in the contributions to Jenkins, more than 280 tickets have closed since the split, and Jenkins has started a new long-term support release line. The community has decided to announce a stable release approximately every three months with patches. Lastly, Jenkins posted its first release 1.409.1, which provides a more conservative and slower upgrade path to organizations.

4. Jenkins is the primary platform for plug-Ins
Jenkins currently supports 392 plug-ins. Of the top 25 plug-ins, 21 moved to Jenkins and four had no commits. Plus, there have been 40 new plug-ins since the split. With such powerful and diverse functionality, Jenkins is the hub of the new application development lifecycle.

5. Jenkins is cloud-enabled
One of the core needs of Jenkins users is the lack of resources during peak periods. CloudBees provides a solution with DEV@cloud, providing developers with Jenkins build, test, and packaging services as well as unlimited, pay-as-you-go scalability with no need to configure and maintain their own build servers.

In addition to all of the above, you shouldn't hesitate to upgrade because you're concerned it will be an effort - it's very easy to do. You can literally be up and running in less than four minutes! Also, CloudBees offers a commercial version of Jenkins, Nectar, which you can try for free! Finally, if you’d like to learn more about Jenkins, we plan on having a Jenkins newsletter in the future but until then you can sign up for our company newsletter. You might enjoy Kohsuke's "7 Ways to Optimize Jenkins" whitepaper.

Reminder: Jenkins training will be taught by Kohsuke on July 14 in NYC and again in the Bay Area on August 16 - don’t miss it!

(Full disclosure: Kohsuke Kawaguchi, the creator of the original Hudson project, works as an elite developer and architect at CloudBees and is on the Jenkins governance board).


CloudBees
www.cloudbees.com
 
Follow CloudBees:
Facebook Twitter

5 comments:

  1. Call me sceptic if you want but isn't there really any reason why one should choose Hudson over Jenkins?

    ReplyDelete
  2. If people want to see the raw data and make the judgements yourself, see my Current state of the Jenkins project slides, Jenkins – 4 Months and Going Strong from Eduardo, and from Bob.

    ReplyDelete
  3. re: KH - If you are an Oracle customer, and are a paying customer for their tools, there might be benefits in using Hudson. Oracle salespeople are very good at making "offers you can't turn down" :)

    IMHO, I'm biased, etc, etc

    ReplyDelete
  4. Do you have any plans for having a jenkins hackathon?

    ReplyDelete
  5. Hi Nambi - Sunday the 2nd of October is shaping up to be a Jenkins day pre JavaOne in san francisco - or do you mean an online session?

    ReplyDelete