Stelligent Home Page
CONSULTING  •  COACHING  •  COLLABORATING

Quick Links
 

An Interview with CruiseControl config project founder Allan Wick

Article Topics
What is CruiseControl config? · Where is the project going?
Where is the project going? »


What is CruiseControl config?


On a recent trip to Milwaukee, Stelligent’s President, Andrew Glover, had the opportunity to chat with Allan Wick, the founder and lead developer on the CruiseControl config project, which provides a configuration and monitoring mechanism for CruiseControl.

Stelligent: Tell us about your project- what problem does it solve? If I’ve already embraced CI and am using CruiseControl, why would I want to use CruiseControl config?

Allan: A little background first: the CruiseControl configuration tool started about a year ago, after I read Mike Clark's book on Project Automation. I had been using CruiseControl for several years before that, and at the time, there was very little documentation on project configuration. I wrote a document explaining how to get a project up and running on version 2.2 of CruiseControl. This document was used to start the documentation site, which was then transferred into the current Confluence Wiki site.

After reading Mike's book, I decided I wanted to contribute to CruiseControl, since I had been using it for so long and had some time to work on open-source projects. I contacted the CruiseControl developers on the mailing list and was led to some code that they had started developing, which was a Swing based configuration tool. I used some of their code as a base to build a configuration tool that made working with the XML based configuration file much easier.

The tool will allow you to point at a config.xml file through the file system, edit the contents of the config.xml file in a nice GUI interface, and save the contents back to the file-system. I always find myself going back to the configuration html help file while configuring projects, so the help file is shown in the tool and positioned to the section that relates to the node you are currently working on.

With the 2.3.1 release of CruiseControl, the configuration file was exposed through the JMX console. You don't even need to know where the configuration file is on the server.

The tool also has the ability to monitor the status of your CruiseControl server in a little nicer GUI interface. Again, using the JMX interface to the server, the tool is able to display a nice overview of all the projects that are currently running and their status. You are also able to monitor several different servers if you have more than one to manage. The icon in the frame of the tool changes color based on the status of the projects running on the server. For Windows users, there is also a tray icon that can be used to notify of server(s) status(es).

The latest version also added a tabbed interface for the configuration of the projects on the server. You don't need to navigate down through a tree to find a node to update. This makes it a lot easier to find what you are looking for. A wizard was added as well to help guide you through creating a new project.

So, for the CruiseControl user, this tool will allow you to view and configure the projects on your server, as well as monitor their statuses, using a nice rich-client application.