Continuous integration is a wonderful thing. In the domains group here at GoDaddy, we build our code on a continuous basis. Every time a developer makes a change, our code is loaded, built, tested, and any problems immediately noted long before anything “goes live” to the rest of the world. Each build is measured for quality, and any failures or defects would constitute what would be called a “broken” build. While we have a Web-based interface that shows this and gives us a lot of information about the failures, having a quick visual indication of how things are going is always good.
Enter our “build lamps.”
Our build server (a package called Jenkins) has a plug-in that monitors the state of every build and controls a Philips® Hue™ light bulb. Hue™ is a system of wireless-enabled LED bulbs that can glow at any color of the rainbow. When a build is running, the bulb is turned to blue. After the build is complete, the bulb will either be green (all is well), yellow (the build was successful, but there were issues) or red (the build simply failed). One bulb per project, a stylish lamp from IKEA®, and we have our build indicators.
Since the bulbs are wireless, we can put them anywhere there is power and not worry about having to network them. The controller can handle up to 50 bulbs, so we could have these all over the entire office for all teams. And since they’re LED bulbs, they’re environmentally friendly.
It’s always great to come in to work and see green lamps. And, of course, it’s easy to remember that you don’t leave if a lamp is red. The plug-in is open source, and we’ve already made a few enhancements that are on their way back into the codebase.
Green means “all is well”