Continuous Integration

Continuous Integration

By Mike Gunderloy
Saturday, December 14, 2002

I've spent a bunch of time working on the build process for a few .NET applications recently. And I've gotten things almost to the point where I want them. Now I'm trying to tackle the seductive goal of continuous integration, and so far the available tools are failing me.

Continuous integration is a relatively simple idea from the Extreme Programming world. If daily builds are a necessity, and frequent builds are better, what's the logical end-point of the progression? A build every time source code is checked in, that's what. Continuous integration tools monitor your source code repository, and kick off the build process every time a new version of a file is committed. The goal is to make sure that the project is buildable at all times by building it every time that something changes.

Bear in mind that I'm working in the .NET world. There are threecontinuous integration tools that I'm aware of in this world:

  • Draco.NET is a free open-source project that supports NAnt, CVS, Visual Studio builds, and VSS.
  • X-Unity is building a commercial continuous integration and unit testing environment
  • CruiseControl.NET is a port of a popular Java-oriented tool to .NET. It supports CVS, VSS, Perforce, and NAnt.

So what's the problem? None of these tools are flexible enough for me. I don't want to give up my FinalBuilder build scripts; for my way of working and GUI prejudices, FB beats the pants off of NAnt. I suppose I could set up a single task NAnt script that does nothing but kick off the FinalBuilder script, but that seems just silly (not to mention introducing a dependency on yet another package to the build process).

I dunno. Maybe I'll just wait for FB to include their own continuous integration. Maybe I'll write my own VSS monitor. Or maybe I'll just complain. Or just maybe some kind reader will tell me that I'm missing something obvious ..

posted on 2004-03-02 09:59  coollzh  阅读(657)  评论(0编辑  收藏  举报

导航