Using an Ambient Orb to show continuous integration build status
A while ago I wrote that one of our developers was going to get an Ambient Orb and use it to signal the status of our continuous integration builds. I'm just following up to say that we have it working. The orb is sitting up above the cubes on a shelf where you can see it from anywhere on the floor. It glows green when the build is successful, and slowly pulses red when the build is broken.
What an interesting device. It's plugged into a power outlet, that's all. It receives commands to change color through a wireless network. You trigger a color change by hitting a URL with some parameters telling it the color.
It was simple to integrate. We're using CruiseControl.NET to drive our NAnt builds, and in the build script we simply did this:
<project name="MyProject" default="build">
<property name="nant.onsuccess" value="success"/>
<property name="nant.onfailure" value="failure"/>
<target name="build" description="builds the system">
...
</target>
<!-- invoked automatically when build is successful -->
<target name="success" description="Target to run when build was successful">
<echo message="Woo Hoo, the build was successful!" />
<get src="https://myambient.com/java/my_devices/submitdata.jsp?devID=123-456-789&color=12&anim=0&comment=build+succeeded" dest="out.html" failonerror="false"/>
</target>
<!-- invoked automatically when a build fails -->
<target name="failure" description="Target to run when build failed">
<echo message="Oh Oh, where's that build monkey?" />
<get src="https://myambient.com/java/my_devices/submitdata.jsp?devID=123-456-789&color=0&anim=2&comment=build+failed" dest="out.html" failonerror="false"/>
</target>
</project>