views:

632

answers:

10

I am preparing to use continuous integration for the first time. I will be using Nant for the automated build and testing tasks, and am trying to find the appropriate CI tool to poll the repository and execute the Nant script.

I have so far loosely researched the following:

  • Hudson
  • Cruise Control
  • Draco

My sense so far is that since most of the work will be done by Nant, Draco would be fine because it is supposed to be easy to install/setup. Cruise Control and Hudson, on the other hand might provide better reporting options.

What is the best way to perform Continuous Integration when using Nant for the build and test tasks?

A: 

I can't speak for the applications listed, but I'm a huge fan of buildbot:
http://buildbot.net/trac

It will build/test on any platform that runs Python (so if your software is supposed to work on multiple OS's each can be covered), it is very easy to use, and extremely extensible.

Mark Roddy
A: 

CruiseControl.NET rather than normal CruiseControl is what I'd recommend, although I have limited experience here.

workmad3
A: 

I won't venture to say which one is best, however CruiseControl.NET certainly works very well, especially with NAnt-based builds. Personally speaking, though, it's the only one I've used.

Ryan Duffield
+3  A: 

We use CruiseControl.NET as our CI server along with our full build system being in NAnt. It has worked exceptionally well over the past 5 years. I've since looked into other alternatives and have not been able to find any compelling reason(s) to switch.

CruiseControl.NET has amazing support for different source control systems. Also, I enjoy how extensible their application is as we've built a few systems that integrate into it.

Scott Saad
A: 

Cruise Control seems to be the de facto standard out there (though I have no data to back that up).

Another option you might consider (though I haven't tried it) is ThoughtWorks' new Cruise product (see http://studios.thoughtworks.com/cruise-continuous-integration). ThoughtWorks developers were the fathers/mothers of Cruise Control years ago. It's free for up to two "agents".

Adrian Wible
+3  A: 

Have you looked into TeamCity? I use it for my personal projects.

Ben Robbins
A: 

We have started using TeamCity in my company and I must say that I am really impressed by this product. We tried CruiseControl.NET before, but TeamCity is much easier to configure and the configuration is much more transparent since you can control almost everything from the Web GUI.

Petter Wigle
A: 

As some other people already suggested, I will say TeamCity. You may still wait until the end of this week, as their new version (TC 4.0) will be released (maybe today, maybe tomorrow)...

romaintaz
A: 

We use CruiseControl.NET and take advantage of it's preprocessors.

For the NAnt part, we use UppercuT. UppercuT uses NAnt to build and it is the insanely easy to use Build Framework.

http://code.google.com/p/uppercut/

Some good explanations here: UppercuT

ferventcoder
A: 

Our company uses Hudson in coupled with NAnt. From my perspective, it works nicely.

Ricky