The Automated Build Controller is a hardware monitor and trigger for the Jenkins continuous integration server. The yellow light flashes whenever a build is running, the red light comes on if the last build failed, and the green light comes on if it was successful. Pressing the Easy Button starts a Jenkins job.
There is a small Python program (abcd.py) that supports the controller. Its purpose is to use Jenkins's web services to get the current status of the server and to trigger jobs. The program communicates with the Arduino over the serial port. It accepts command-line arguments to indicate the serial port, serial port speed, Jenkins URL, and the job to trigger. For example:
$ python abcd.py /dev/ttyUSB0 19200 http://localhost:8080/jenkins/ deploy-qa
The latest source code for the firmware and daemon are available from the Mercurial repository. Downloads are available on the Files page.
This project is distributed under the GNU General Public License version 3.
The images below show a custom enclosure and circuit board with fancy connectors. It isn't actually necessary for the project; the original ABC was built entirely on a breadboard with jumper wires. I have not supplied the design files for the circuit board because it has serious flaws that had to be corrected with a Dremel tool (it was the first circuit board I had built in about a decade).





