Hudson Global Dashboard

For tracking multiple automated continuous integration builds across multiple machines.

The Hudson Global Dashboard is an idea that stems from the Panic Board. We had a scenario where we had multiple machines running Hudson, and for knowing at-a-glance the status of a build we relied either on build lights (USB lights, changing red to green depending on build) or CCMenu.

Problem with this

  • CCMenu cannot be easily seen by people walking by
  • Build lights can only be one per machine, however we are running multiple builds on a single machine.

Usage

  • Check the code out.
  • It runs on http://localhost:3000
  • Enjoy

Installation

  • git clone git@github.com:markcipolla/Hudson-Global-Dashboard.git
  • bundle install
  • padrino rake seed
  • padrino start

The "padrino rake seed" lets you set up the first admin account, so you can login. Point your browser to http://localhost:3000/admin so you can login. After adding at least one build, head to http://localhost:3000

It can be found at http://github.com/markcipolla/Hudson-Global-Dashboard.

Hudson Global Dashboard was built on Sinatra, a great little light-weight framework on Ruby, but has been rewritten on Padrino, which leverages a step up on Sinatra to offer a more powerful offering. A lot of the power of Ruby on Rails, still without all the hassle of dealing with a full suite.

It's still very early alpha, so use at your own risk, but it's fairly harmless, so I wouldn't stress too much. The only real problem is the error handling isn't superb, and it can just die when a build is naffed. Which doesn't look good to business-type-people walking by. But, then again, neither does a failing build.

Note: I've rounded out a lot more error handling, so it'll start to check urls and IPs of the Hudson builds and skip broken ones.. for the most part.

In the wild:

I was ever so pleased to see the dashboard get some use in a real world environment against active test suites... Thanks go to Steven Holloway for taking the pics and letting me know.