Build Notifier

Build Status Dependency Status Code Climate

This utility is part of an XFD (eXtreme Feedback Device) solution designed and built for my employer ChallengePost. It works in conjunction with our Jenkins Continuous Integration server (and its Notification Plugin) and an Arduino powered Traffic Light controller with a pseudo-RESTful API.

To run, you need to create a config.yml file. The first time you run the application without any arguments, you will get a sample.

Installation

$ gem install build_status_server

Execution

See the options you can pass in by:

$ build_status_server -h

Configuration file

UDP Server

This section defines what interface and port should the UDP server listen at. The Jenkins' Notification Plugin should be set to this parameters as well.

TCP Client

This section is where we tell the server how to communicate with the web enabled XFD. In the example case, there is a web server running somewhere listening on port 4567 that responds to /green and /red.

On our installation, this represents the Traffic Light's Arduino web server.

Store

Where the persistent state will be stored.

Mask (optional)

You can decide to either include or ignore certain builds whose names match a given Regular Expression.

Verbose

Whether to display informative output messages.

Development

bin/test_tcp_server is provided for development purposes only. It behaves like the server on the Traffic Light controller project.

Finished product

my image

Wiring the traffic light

my image