3 months ago, I moved our java team off of CruiseControl to Hudson CI. It wasn’t hard to convince the team to move; no one was really passionate about CruiseControl. But with little training (ok, actually zero training), the team was quick to setup their own projects on the new Hudson build system and after 3 months of use, we’ve had some great progress.
Here’s what I’ve found and liked about Hudson CI.
First off, Hudson is active. Looking at the CruiseControl bug tracking system, it looks like a year passed between 2.8.2 and 2.8.3. An entire year for a minor update. In comparison, Hudson is pushing out updates if not weekly, then very close to it. Active development of plugins is obvious on Hudson and getting them into your system is a snap. Making it easy for developers to help contribute plugins to the build system and providing such a simple integration of plugins was a stroke of genius. The same can be said of the Apple iPhone App Store. This ease of deployment seems to be crucial to getting third party buy in to your platform. Hudson has totally nailed it.
Next, Hudson is fun. In CC, you can only get so interested in configuring xml files. By providing a simple web interface, Hudson makes managing, upgrading and generally taking ownership of the build machine a lot more fun. I haven’t yet put in the Chuck Norris plugin, but fun little nuggets like that are sprinkled through out Hudson. This is not a trivial point and making your open source product fun to use has a compelling argument. Hudson would be a good proof of that.
Lastly, Hudson is simple. Setting up a build system should be simple. It can get a lot more complicated the more you use it, but a simple build system should be simple. Maven makes this even easier but even without Maven, a simple build system should be just that; simple. Hudson is simple and leads you easily through an initial setup. CC favours simple design over simple use. XML files are easy to understand but are not obvious to configure. Hudson is simple.
I’m actually surprised at how far the classic CC build system has fallen from the pace. Maybe ThoughtWorks has been a lot more interested in the CC.rb version. Maybe they just don’t invest a lot in their projects and are comfortable with where CC is today. Either way, CC seems to be stale and dying.
There are so many build systems that I’d be foolish to say something like ‘Hudson is the best CI system around’. But Hudson CI is certainly worth trying and if you’re still using CC, consider moving to Hudson. I think you’ll be pleasantly be surprised.

I'm a professional engineer working in the software industry based currently out of Toronto, Canada. If I'm not writing code, you might find me on the hockey rink or reading the NY Times over coffee.
I have recently started to plan a trip around the world with my wife, Susana, putting my software development career on hold while I grow and learn in other ways beyond the keyboard.