Skip to content
This repository

Build data concentrator that acts as a bridge between Jenkins CI and an Arduino XFD (eXtreme Feedback Device) that controls an old school (and very analog) traffic light!

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 config
Octocat-spinner-32 lib
Octocat-spinner-32 spec
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .rspec
Octocat-spinner-32 .travis.yml
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Guardfile
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 build_status_server.gemspec
README.md

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

Something went wrong with that request. Please try again.