I love Build Radiators. The ability to pass information to a team of developers easily and immediately is far and above one of the most important things any CI method needs to do. (Apart from manage the whole Continuous Integration model)
Ever since we plugged in the Continuous Integration tool that is TeamCity I have been totally immersed in the world of Build Radiators, otherwise known as Build Status Screens or Build Notifiers (or the big red light that flashes whenever a build fails).
In a recent presentation at DDD Scotland I asked for a quick show of hands for those who have Build Radiators in their office. I was surprised at the very low number of developers who raised their hands. Even more so when I asked how many of those who didn’t have one actually knew what I was talking about.
For those that don’t I shall attempt to describe the awesome tool that comprises a Build Radiator…
To put it simply, a build radiator is a device that indicates the status of the builds of your projects. It doesn’t necessarily need to be on a monitor; it can be a whiteboard that someone writes on after every build. It can be a board with post-it notes on it. Anything that communicates to your team of developers the status of a build. However, it’s when you plug that information into a webpage that the idea really comes to life.
TeamCity outputs the status of all builds into a smart little HTML file, and with the power of JQuery and some nifty CSS you can translate the very small file into a bright and beautiful Build Radiator. As soon as a developer checks in their changes, TeamCity comes along, builds the project and instantly updates the status of the build. Within ten seconds the Build Radiator screen updates and hey presto, all the developers know whether the build is still clean (indicated by a big green box) or whether the build is requiring some TLC.
Using a build radiator will breed confidence in your team very quickly, even if the build is failing more often than it is succeeding. It’s all about getting that information to the developers as quickly as possible. And, once you’ve got the build radiator screens in place you can easily add more information to it. However, you can very easily go overboard and a build radiator can quickly become a nightmare to navigate with the eyes, so my advice is to keep it simple.
I plan to do a 20/20 “Pechu-Kucha” presentation at DDD South West on Build Radiators. If anyone has one running I’d be very interested in seeing a picture of it and knowing what you show on it.
For those of you with TeamCity and no build radiator I shall shortly be posting a quick and dirty CSS/JQuery page you can use to pull your own TeamCity build statuses into a nifty little build radiator of your own.
(Update: I did write one. It’s here: DIY Build Radiator for TeamCity)
For more information on the Panic Status Board head over to their blog post: