Feb 17, 2011

Hudson Forked

Many of us use continuous integration tools such as Apache’s Continuum or Cruise Control. A while back, I became a fan of Hudson. Recently, like so many other projects, following the acquisition of Sun (who previously acquired Hudson) by Oracle, some of the developers of these open-source tools have decided to leave Oracle, and  the dev.java.net home, and branch their own project.

In this case, Jenkins has been created as a direct fork and drop-in replacement for Hudson, with the project name (wherever it’s splashed about the app) as the only evident change. The interface is the same, the  plug-ins for Hudson work with Jenkins, and even the jovial butler image in the corner is the same. Deploying the app is nearly identical; again, just the name seems to have changed.

In my case, downloading the jenkins.war file, undeploying my /hudson app from my Tomcat server, and deploying the new WAR file did the trick. I deployed mine still as /hudson so that links in my Twitter and Google Calendar would still work. I poked around the documentation a little bit and also changed the HUDSON_HOME value to JENKINS_HOME, although the actual folder containing the configuration and jobs is still named “hudson.”

The fork seems to have been with the release of Hudson version 1.395. The first current release of Jenkins takes the next version number from Hudson; version 1.396. If you browse the earlier versions on the Jenkins site, they’re all hudson.war versions. The changelog also contains the Hudson notes.

Oracle apparently is not abandoning Hudson. The Hudson website has been updated with a flash new interface, and on it is a little blurb about the fork, and their commitment to continue developing Hudson. I try not to get too much into the politics behind some of these splits. Sometimes I choose one over the other because I prefer one branch’s features over another; in this case, Jenkins has fixes that Hudson doesn’t. There’s a couple of bits from both the Jenkins and Hudson camps, if you’re interested in more of the background than just the event; the Oracle bits seem more focused on why the community forums and such have gone away, than with the future of the project.

While the community seems divided, the product looks like it will live on in its own. Just like OpenSolaris has become OpenIndiana.

About the Author

Object Partners profile.
Leave a Reply

Your email address will not be published. Required fields are marked *

Related Blog Posts
Simple improvements to making decisions in teams
Software development teams need to make a lot of decisions. Functional requirements, non-functional requirements, user experience, API contracts, tech stack, architecture, database schemas, cloud providers, deployment strategy, test strategy, security, and the list goes on. […]
JavaScript Bundle Optimization – Polyfills
If you are lucky enough to only support a small subset of browsers (for example, you are targeting a controlled set of users), feel free to move along. However, if your website is open to […]
Creating Mocks For Unit Testing in Go
Unit testing is an important part of any project, and Go built its framework with a testing package; making unit testing part of the language. This testing framework is good for most scenarios, but you […]
Resetting Database Between Spring Integration Tests
When tasked with having to write an integration test or a Spring Webflux test that uses a database, it can be cumbersome to have to reset the database between each test by using @DirtiesContext. Using […]