Friday, June 22, 2007

CruiseControl.Net... Release 1.3.0 With Integration Queues

Some of you may remember this post from last October about a patch I made for serialising builds in CruiseControl.Net. Owen Rogers was kind enough to give me the "keys to the kingdom" to get this integrated into the main CC.Net branch and as of today it is now officially released in CC.Net 1.3.0.

Having had several pair sessions watching Owen "fly" with Resharper was a great experience - many thanks Owen for the effort in getting the final release out as it can't be easy with new baby and work pressures!

As I said from the very beginning this particular iteration doesn't solve everyone's problems of complex build dependencies, nor was any attempt made to do so. However applying the 80/20 rule it appeared many people were like us with the simpler "this project should never build at the same time as this project" requirement. This implementation should do that just fine with a few bells and whistles such as viewing queue contents, controlling the build order and cancelling pending builds...

We have been using the nightly builds of 1.3 for quite a number of months now and it has proven solid from our experiences with it. There are of course further enhancements that can be made, but in discussion with Owen we froze it as is for people to get started with it and feedback their own thoughts. For instance one addition I would like to see is to identify in the CCTray queue which items are continuous triggers (checking for modifications) versus which are actual builds that will take place. Perhaps a simple "F" stamped into the icon corner for forced builds with additional information being passed in the xml request from the server about the integration request.

Documentation for how to use the integration queue feature is here.