Switching from CruiseControl to Hudson
Martin Fowler
By Gavin Davies
The Amaxus team are great believers in continuous integration (CI). We have a wide range of Web CMS customers with a variety of requirements and we want to make sure that the latest and greatest feature integrates smoothly.
We have been using CruiseControl for a number of years, but found it clumsy and difficult to configure. Yes, in theory everything worked, but in practise it was flaky. It’s not ideally suited to PHP projects either. We had to hand-hack XML files to make it do what we needed to do, and it had a “bus factor” of one person.
On a recent project for a global broadcaster, we found that the CI server they were using was far better. At first we thought that it was an expensive piece of commercial software, but it turned out to be a free, open source tool called Hudson. Having experimented with a number of other CI servers, we decided to give Hudson a go.
With Hudson, any developer can set up a project under CI using a straightforward browser interface. Plugins can be installed on the fly with no need to get your hands dirty on the terminal. It took less than a day of work to have Hudson building and testing all of our development branches and customer code on every commit. One great feature of Hudson is triggered builds. We use this to test customer’s code when the branch they run on is modified to make sure we don’t break things downstream.
Hudson’s plugins allow us to integrate with Trac and NetBeans, so we don’t even have to leave the IDE to know if our last commit broke the build.
We’re not naive. We realise that a build server can never make our software bulletproof – we’re only as good as our tests, after all – but our unit test coverage has rocketed up over the last twelve months, and an expanded QA team has seen us catch more problems before they get out of the door. Moving to Hudson has been another step in the right direction – we definitely recommend considering it.
The Amaxus Content Management System offers a sophisticated feature set, across hundreds of highly-configurable modules; all within the most usable Web CMS interface available.

0 Comments