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
Android Development for iOS Developers
Android development has greatly improved since the early days. Maybe you tried it out when Android development was done in Eclipse, emulators were slow and buggy, and Java was the required language. Things have changed […]
Add a custom object to your Liquibase diff
Adding a custom object to your liquibase diff is a pretty simple two step process. Create an implementation of DatabaseObject Create an implementation of SnapshotGenerator In my case I wanted to add tracking of Stored […]
Keeping Secrets Out of Terraform State
There are many instances where you will want to create resources via Terraform with secrets that you just don’t want anyone to see. These could be IAM credentials, certificates, RDS DB credentials, etc. One problem […]
Validating Terraform Plans using Open Policy Agent
When developing infrastructure as code using terraform, it can be difficult to test and validate changes without executing the code against a real environment. The feedback loop between writing a line of code and understanding […]