Hudson - great for when you need a lightweight CI tool in a hurry
On a recent project a colleague recommended Hudson which turned out to be a very good call indeed. The team was genuinely impressed. Despite the tagline claiming it is an "Extensible continuous integration engine" - seriously Hudson people, drop the "engine" - that smells like a programming vapourword. Anyway, continuous integration tools seem to be aligning themselves into two camps, big fat do everything ones, and small neat lightweight ones. Hudson is now firmly at the top of my list of the second flavour.
So this is why it is well suited to short, dare I say agile, projects:
- Trivial installation – the released package is a war file, so you drop it in your web container of choice and away you go.
- Configuration – going with the lightweight rapid theme, there is not much to configure. However, Hudson scores with a really intuitive gui. No need to read the docs.
- Feature set – it had everything required for the tight timescale project I was working on – namely subversion integration (naturally), cron (quartz I guess) style scheduling, rss feeds for build results, JUnit report rendering, and a really sweet unix tail style build output watcher.
and this is what is not quite perfect
- Missing a couple of features, such as support for alerting build status over chat, and delayed commit.
- Although there seems to be a decent swell of support for Hudson, and it has an open extension system, there just aren’t that many compelling extensions yet.
- No support that I could find for adding in code coverage reporting.
- A successful build shows a blue rather than red traffic light. That’s just confusing. Like is blue good or bad?
Really though, I am just splitting hairs. Hudson was very impressive.
Labels: continuous integration