Big Visible Cruise is a cool utility for adding a build information radiator to your team room. It makes your Cruise Control build status immediately clear with a large green (good) or red (bad) screen. My (admittedly limited) search for an equivalent solution for JetBrains’ TeamCity came up empty. TeamCity has a few built-in notification options, but none of them seemed to be the right fit. I toyed with many different possibilities, all of which would require more development or infrastructure than we wanted to allocate to the task. Luckily, we found a solution that cost us little time and requires very little deployment footprint.
On individual build configuration pages, there is an option to “enable status widget”. This makes the build status publicly available on your TeamCity server at http://<buildserver>/externalStatus.html. This is what it looks like when we expose the status of our two builds:
Now, we can put that up on a big monitor for everyone to see, but I don’t think it “radiates” any information – you still need to purposefully read it. However, through the power of GreaseMonkey and jQuery, we were able to modify that page to look like this:
Now, it is immediately clear to anyone in the room when one of our builds has a problem. The script also refreshes the page automatically every 15 seconds, which the default externalStatus.html page does not do.
You can easily recreate this using Firefox, the GreaseMonkey Add-on, and my bigvisibleteamcity.user.js GreaseMonkey extension. If you aren’t familiar with GreaseMonkey, just install the add-on, then drag the *.user.js file onto your browser window, and you will be prompted to install it.
You will need to edit the bigvisibleteamcity.user.js file to change the URL in the @include line to refer to the externalStatus.html page on your server.