Introducing Hudson Monitor

Wednesday, 15 July 2009

The Hudson Continuous Integration server has been my continuous integration platform of choice for about a year now, mainly because of it’s ease of use and configurability.

Whilst working on a project for a client last year, I needed to monitor the status of the build whenever someone checked in. There are numerous ways of achieving this already, however we wanted a separate PC running next to the team with a full-screen display letting everyone know the build status.

Accessing Hudson with .NET

To achieve this task I wrote a .NET wrapper for the Hudson Remote API. This RESTful API enables a program to query the status and history of the builds running on the Hudson server. An ASP.NET MVC application then takes this information and displays it on a webpage that can be run full-screen in a browser.

The Hudson Web Monitor running fullscreen

It is much easier to quickly see the status of the build on the 40 inch display rather than through the default web interface or a tray icon!

The monitor displays information such as build number, subversion revision and the check-in comments. If an image with the same name as the user checking in the code exists on the server, their avatar is displayed. This obfuscates who did the build to the outside world.

We found that displaying the avatar of the last user also was a strong encouragement for developers to check that the build wasn’t broken before checking in their own code.

Downloading the Monitors and Source Code

I’ve recently revisited the code and re-written it from scratch, adding more robust unit tests and support for a WPF monitor running in the system tray or Windows 7 Superbar. All the code is open sourced on Google code.

Screen shots and downloads are available here.

1 Comments:

Anonymous secretGeek said...

Very nice!
I've been writing a similar thing, for a dedicated full-screen build+bug monitor. It's also written in asp.net MVC, and talks to hudson.

But in addition, i talk to Jira, to get the number of outstanding bugs and stories, plus show a count down to the next code-freeze. (We had a problem where devs never know when there's a code-freeze)

26 September 2009 04:15  

Post a Comment

Subscribe to Post Comments [Atom]

<< Home