views:

134

answers:

4

We're currently not applying the automated building and testing of continous integration in our project. We haven't bothered this far as we're only 2 developers working on it, but even with a team of 2 I still think it would be valuable to use continous integration and get a confirmation that our builds don't break or tests start failing.

We're using .Net with C# and WPF. We have created Python-scripts for building the application - using MSbuild - and for running all tests. Our source is in SVN.

What would be the best approach to apply continous integration with this setup? What tool should we get? It should be one which doesn't require alot of setup. Simple procedures to get started and little maintanance is a must.

+1  A: 

Cruise Control .NET

Jack Marchetti
+6  A: 

Have a look at JetBrains' TeamCity. Free for a small team like yours. Easy to install and minimal fuss. And it looks good. Far better than CruiseControl.NET.

CruiseControl.NET is good too, but definitely requires more work to get setup.

Wim Hollebrandse
True. CC.net definitely has a learning curve to it, but once you've setup one project, and you have your config file, it's pretty simple after that.I'll have to check out TeamCity one of these days.
Jack Marchetti
I'm familiar with TeamCity, but never looked into it. Jetbrains have done a great job on ReSharper, so I guess TeamCity is worth a look!
stiank81
TC is miles better then CC.net.
Matt Briggs
+1  A: 

Try Cruise (http://www.thoughtworks-studios.com/cruise-release-management) (the re-write of CruiseControl.NET) by Thoughtworks. Its very sexy, much easier to get going and very nice to use. Great feedback too. And its free for teams of less than 10.

Even with two its a great tool to have and once you've done it once its much easier to set up other projects. Having it build, fresh, from SVN when you check in and then tell you everything is ok is a really nice feeling thats easy to get used to.

Allow a good two days though for any build system to wire it all up, thats not installing thats just getting everyhing wired up as it should be. Trick is to do baby steps, get it checking out your code and add more and more layers as you go. Once you have a base set up you can add the other bells and whistles when you get time until after a week or two you have the whole thing singing and dancing. Sounds like a lot of work but its well worth it.

Pete Duncanson
Look interesting, though it seems the free version is for a year initially. Would be a bit concerned about the possibility of TWS not extending the freebie after a year unless you pay up. Would be nasty to get out of a year's worth investment.
Wim Hollebrandse
From what I know you just have to email them to let them know you are still using it and they will extend the licence. Its in their interests too as the idea is your company will grow (with Cruise at its core) and eventually you will get big enough to have to cough up the money to buy the proper version. I don't think they really have any plans to limit its availabilty to smaller teams, it would be too limiting on their growning user base and shoot themselves in the foot.
Pete Duncanson
+2  A: 

I've been using Hudson (open source software) and found it really flexible. It's more popular in the Java community, but there are MSBuild and MSTest plug-ins available. Hudson also makes it easy to schedule builds or run builds when changes are checked into svn. I found this blog very useful as a starting point.

Graham Miller