In short
Arduino based box is connected through the USB with the software module which periodically checks the Hudson job status and triggers the appropriate LED on the box. Software module is based on Java and use RXTX module for communication with the Arduino board.
What is the Hudson CI server?
“<...>Hudson monitors executions of repeated jobs, such as building a software project or jobs run by cron.” More details about Hudson can be found on Hudson WIKI
Hardware Required
1. Arduino Board
2. 10-kilohm Potentiometer
3. 7 segments LED
4. Blue, Yellow, Red LED’s
5. Few meters of wire
Circuit
Build story
This is a simple project to provide detailed build story steps. In short: potentiometer is connected to HudsonLifeSupport box to configure the timeout between the the status retrieval from Hudson server. While rotating the potentiometer 7 segment LED shows the number of time units to countdown. Moreover, during potentiometer rotation the HudsonBuildBox turns to the configuration mode. In case the potentiometer value stays the same for 5 seconds, countdown clock starts. When the countdown is close to zero HudsonBuildBox sends a signal to the software module to retrieve the build status for a configured target in Hudson CI server. Software module retrieves the build status thanks to Hudson XML API.
In case build is successful the BLUE light is triggered.
In case there’s failing unitests YELLOW light is triggered.
In case the build is failed due to compilation errors RED light is triggered.
In case Hudson server is not reachable for some reason (no connecion, server is down) all the LED’s turns to blinking mode until the Hudson server is up.
Code base & Arduino firmware will be posted to GoogleCode next week. Or if you can’t wait drop me an email with your question
Photo story
Similar project: “Ultimate CI Visual feedback” from the “The Ultimate Wallboard” contest”.
Also a similar idea just more in style:























