CCTray with Hudson

Hurrah! Eric Anderson did some research this weekend and we now have our CCTray lights and speech working again!

Back when we were using CruiseControl.java for our builds, I submitted some patches to the CC.net project to allow the CCTray application to properly control X10 build status lights, and also to support text-to-speech for announcing build status changes. We really liked having that. We had a couple of lava lamps set up in the center of the team room to show the status of our builds – that allows us to see the status of the build when we come into the room. The speech (It says things like “The Well Logs Refactor project has started building” and “The Well Logs refactor project reports Yet another successful build”) helped us stay hyper-aware of the state of things. Having a periodic announcement that a build is starting reinforces the ‘pace’ of the team.

So, when we started using Hudson for our build server, we were disappointed that the rss format it shows didn’t work with Hudson. I looked around a bit, and while Hudson has its own ‘tray’ application, it didn’t do the stuff I wanted. I spent a little time looking at Hudson source code, thinking about writing a plugin to support the CC xml format. I looked at doing another patch for CCTray to support reading the Hudson RSS or XMl or Atom feeds. But I never got very far on those projects. Getting actual project work done was always a higher priority.

But now it is working again, and there was much rejoicing in the team room this morning. In order to spread the word that Hudson does output CCTray compatible xml, I am writing this post. The magic URL to enter into CCTray is http://hudsonserver:port/cc.xml and is described more fully on the Hudson Wiki.

Here is a picture of our newest build light setup:

DCFN0004

Yes, the build is broken! We’re creating a new smoke test at the moment, and fighting with Maven configuration. We’re also going to neaten up the cords Real Soon Now.

Here are the three X10 modules on the wall. Pretty ugly. Might be a weekend project to mount the modules inside the light fixture, so we can just have a single cord coming out.

Pic 036   

Finally, here is a pic of the team room – we have a long rectangular room, and mounted the lights on the short wall that is off the left edge of this photo.

DCFN0003

Next thing for me will be a much simpler patch to CCTray to support three lights in X10. Currently it only supports ‘green’ and ‘red’. I want to make it so that the yellow light also comes on while a build is in progress. So the color scheme would be:

  • Green only – all builds are good, nothing in progress
  • Green + Yellow – all builds are good, build in progress
  • Red only – at least one build is broken, nothing currently building
  • Red + Yellow – at least one build broken, build in progress.

Related Articles:

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • http://elegantcode.com Ryan Kelley

    Odd question, but what kind of tables are those that your devs all work on? I am configuring new office space.

  • http://www.lostechies.com/members/stevedonie/default.aspx Steve Donie

    @Ryan – the tables are pretty basic work tables, and I like them OK, but would prefer that they were height-adjustable. We have 5 tables – 2 of them are 6 feet long by 3 feet deep, 3 are 6′ x 2′ 6″. We have the 2 wdier ones back-to-back, and then the 2 narrower ones (leaving a gap in the middle for a nest of cables) and then the 3rd narrower one at the end. Room for 5 developers, and each of us has dual monitors. We also have dual keyboards and mice at each computer for pairing. Right now, 3 of us have Windows XP, and 2 have Linux. We all use eclipse as our IDE, so that makes things somewhat consistent, and we’re all more or less able to navigate the various OS’s.

  • Peter
  • Tom McKenzie

    Has anyone figured out how to get CCTray and Hudson working with authentication?

    Here’s a couple links I found that.

    http://community.thoughtworks.com/posts/f00aadad8f
    http://blog.virtual-olympus.com/blog/?tag=/CCTray

    Maybe I could build a Transport Extension?