Today I have install my first system for continious integration (CI). Initially I thought that I would be using Cruise Control. Mainly because it is used on the Fortres project which I have been involved with, so I know that it works well. However I have never installed it myself, or configured it.
I downloaded Cruise Control and got it running the accompaning example within minutes. But trying to add my own java project in a mercurial project wasn't as easy as I would have liked. A colleage of mine suggested that I looked at a CI system called Hudson, and I liked what I saw. It prmissed Web interface for defining builds, easy setup, and easy integration with mercurial.
I downloaded Hudson, and within minutes I had it running my own java project from a mercurial repository. Building every 5 minutes and when changes where discovered in the repository.
It is as easy as java -jar hudson.war --httpPort=7000 to get it running on a non standard port (the default is 8080). Then go to http://localhost:7000 where you find the Hudson dashboard. From the dashboard you can easily create build jobs.
I am no expert on CI but Hudson seems like a great system and not only for Java. Also Hudson supports distributed builds.
All in all, I like what I see.