JenkinsGadget

JenkinsGadget – Monitor Jenkins build server with Gadgeteer

This will be the first in a few article on how I created the JenkinsGadget. The JenkinsGadget is a Gadgeteer project to monitor a Jenkins continuous integration (or build) server. It’s written in C# using .NET MicroFramework (NETMF) 4.3. The code is up on GitHub.

For those unfamiliar with Jenkins, it’s a continuous integration server. Jenkins will pull and build your code whenever you check code into your source code repository (GitHub, Perforce, etc). It can be configured to give an incredible amount of useful data such as:

  • Code duplication
  • Test failures
  • Unit test code coverage
  • Compiler warning

I wanted to create a piece of hardware to monitor give me notice on the following:

  • A build is in progress
  • A build failed
  • A build has a warning

In Jenkins, this is indicated by colored indicators:

Jenkins Indicator

 

 

 

 

Blue indicates a successful build. Red, failed. Yellow, problems. I didn’t have a blue LED, so I’m using green. (I apologize to all the color-blind people!)

This project uses the following modules:

  • FEZ Spider – mainboard
  • Button
  • MulticolorLED
  • WiFiRS21 – WiFi Module
  • Extender
  • USBClientDP

All parts were purchased from GHIElectronics. They’re assembled in the following manner:

JenkinsGadget Diagram

 

 

 

 

 

I use two methods of notification:

  • MulticolorLED
  • Breadboard LEDs

This is only to show how easy both methods are. There’s a bit more programming to “roll your own” using a breadboard. However, I wanted to be able to use brighter lights or possibly other indicators (mp3 sounds?)

The physical setup is pretty easy.

 

 

JenkinsGadget

 

 

 

 

 

I’m using X11 and digital outputs for pins 7-9.

In my next article I’ll discuss how to setup the WiFi.

Stay tuned and contact me if you have any questions.