If Your Build Fails and No One is Around to Hear It, Does It Make a Sound?

[article]
Summary:

Continuous Integration build tools are great: they help us ensure our product works after every commit, keep historical data and metrics, build our product for all target environments, and do many more useful things. But there's one key aspect that often gets overlooked: They're fun.

Continuous Integration build tools are great: they help us ensure our product works after every commit, keep historical data and metrics, build our product for all target environments, and do many more useful things.  But there's one key aspect that often gets overlooked: They're fun.

More specifically, creating ways to get notified about the build status is fun.  Sure, a simple e-mail with a title like BUILD SUCCEEDED or BUILD FAILED is not all that entertaining.  But if you look beyond e-mails and RSS feeds, build status notification becomes an engaging, creative challenge.  There's something fascinating about making a computer trigger some physical event - turning on a light, making a sound, or displaying a message on a big screen - that gets people excited about Continuous Integration.

Here's what our team is using right now:

We are a small team distributed across two states working on the one project.  There are several builds associated with this project, from unit tests to automated end-to-end "smoke tests" using Selenium.  We use TeamCity as our automated build server tool and the Nabaztag wifi-enabled talking rabbit to announce build status.  When the rabbit alerts us to a problem, we look at the TeamCity web interface to get more information.

We had to experiment with the various TeamCity notification settings to avoid too much "rabbit chatter" (which was distracting), but now whenever the rabbit speaks, we know it's going to say something important.  For us, this meant announcing only whenever a build fails or is fixed (the first successful build after a failure).  As a further enhancement, we've tweaked the BuildBunny plug-in to allow us to specify a different text-to-speech voice for success and failure messages, so we can quickly tell if the rabbit has good or bad news by its tone of voice.

There are many other creative tools to announce build status, such as a BetaBrite LED scrolling sign, a light board, or lava lamps.  "The Continuous Integration Game" plug-in for the Hudson build server takes this to a whole new level by turning the build into a game that gives committers points for writing unit tests and fixing the build.

How does your team monitor its build?

User Comments

2 comments
Anonymous's picture
Anonymous

One of these days - I'm going to do this in my company. :-)

June 15, 2009 - 12:26am
Cable Phillips's picture

Cool to see someone supporting continuous integration back in 2009.   The betabrites are getting harder to find, so I wanted to mention we have a couple of inexpensive signs that come with a perl api.   

It's the first three signs here: http://www.brightledsigns.com/scrolling-led-signs.html

They are from $30 to $90, and range in size from "tiny" to 4"H x 16"w

We released a perl module for them, more info here: http://search.cpan.org/dist/Device-MiniLED/

Thanks!

==

Cable Phillips

brightledsigns.com

June 25, 2013 - 10:35am

About the author

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.