I am used to all kinds of continuous integration tools and I heard about Hudson a while back without actually trying. I did a couple of weeks ago and I am using it extensively (I’d even say exclusively) now. The thing with Hudson is that it just works. No fancy installation script, no cryptical user interface, no file to edit by hand; just create a new job, define where the source core resides in the source repository and you’re set with the default settings. The community is very active and all the issues I have been reported so far have been resolved in a couple of weeks. Pretty impressive.Here’s the list of my favorite plugins (note that Hudson has a plugin download manager built in so it will download the plugins for you!):

  • Perforce plugin: most SCM systems out there are supported but perforce integration does not come out of the box;
  • Batch task plugin: allows you to invoke a separate task on a project through the web interface or from an URL invocation
  • Task scanner plugin is a must have: it scans the source tree of the project for token such as TODO, FIXME, etc. A priority can be associated to each token and a chart is generated automatically with an history of the jobs.

There’s a couple of others plugins I had not yet the time to try. The major problems I am facing with Hudson is its notification system which I don’t fully understand and the Jabber integration does not seem to be working at all for me. Other than than, if you’re looking for a powerful and clean continuous integration server, you need to give Hudson a try. And by the way, all this come for free…