CruiseControl vs. Hudson

December 17, 2007 at 7:33 pm | Posted in Build, Java, Software Development | 8 Comments
Tags: , , , , , ,

After using CruiseControl for years as my favorite tool of choice to implement Continuous Integration I completely switched to Hudson. I was very happy with CruiseControl because it’s very reliable and works with pretty much every source code management tool. Even changing the existing SCM is not a big deal. The reconfiguration just takes several minutes plus a restart of the CruiseControl cron job. However, everything has to be changed in a XML configuration file making it error prone and a pain in the boat to change. Although CruiseControl comes with a web application that can be deployed to any kind of Servlet container jobs can’t be easily configured, monitoring is basic and extensibility would take a lot of effort. Version 2.7 comes with a dashboard trying to fix these shortcomings. Frankly, it doesn’t convince me as an easy-to-use user interface which would even allow beginners to Continuous Integration to get an easy access. Once you were in Hudson-land you never want to go back.

Hudson, as one of CruiseControl’s competitors, takes different a path. A web application is the basis of the Continuous Integration engine which is highly configurable, extensible through a plug-in mechanism and has a very nice layout. Jobs are completely set up through the web interface. No more hassle with XML. By default it supports CVS and Subversion. Plug-ins are available for other SCMs like e.g. ClearCase. Prominent build tools like Ant, Maven, Gant even MSBuild and NAnt can be triggered and work like a charm. Reports (most of the times even with graphical stats) for unit tests, API documentation and static code analysis tools like Checkstyle or FindBugs are accessible through for every job.

Hudson is a young project but has a very vibrant and active community. It’s mailing list is the top 1 of the java.net projects. I think multiple release per month speak for themselves. As one of the most prominent users of Hudson the JBoss projects completely switched from CruiseControl to Hudson.

Here’re some nice links if you want to go further:

About these ads

8 Comments »

RSS feed for comments on this post. TrackBack URI

  1. Hudson is slower than sh!t. Does anyone know of another tool that isn’t such a drag on resources?

    • That’s the strangest thing I’ve heard. Hudson is simply an elegant batch job tool. There’s very little that it does that could be slow. Do you have a specific example of where it runs slowly?

  2. I’m curious if you’re still loving Hudson. :) I’m compiling a “proposal” to our development group to make the move.

  3. Sure thing! Try it and you love it. Especially, after trying to make a couple of complex CruiseControl projects work. The XML configuration is just a pain.

  4. What about Team City, I use it and love the simple interface for configuring ci projects.

    • I just recently set up TeamCity Professional for a couple of projects. It’s working fine for me. However, it took me while to get along with the UI navigation of TeamCity. I really miss the tabs in Hudson to group projects. Most importantly 20 build configurations are used up very quickly when you work with multiple branches of a project. I don’t get JetBrain’s strategy of making people pay for a CI server when there are so many free around.

  5. [...] readers should be able to find more detailed comparisons of CI engines (like this one) with a quick search, but our conclusion – based on a combination of first-hand experience and [...]

  6. I believed Cruise Control was superior till today … I was enlightened .. and looked up for advantages of hudson @.@


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com. | The Pool Theme.
Entries and comments feeds.

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: