Continuous Integration resources
Tuesday, May 13, 2008 – 7:09 AMSeveral people at the p&p Summit had questions around CI. I thought I’d follow it up with a post on with some useful links etc.
I’ve used CI on a couple of teams at Microsoft, notably Visual Studio Tools for Office and the patterns & practices group. While we were at p&p Alan Ridlehoover and I gave a talk about CI for the engineering excellence group here at Microsoft and there lots of posts about it on my blog in the Continuous Integration topic, especially the thoughts on CI post.
I have a paper accepted to Agile 2008 documenting the cost/benefit of CI. Once the conference has published it a copy of the paper and accompanying talk will be available on my publications page. If you attended my talk at the p&p Summit this is where the 40% time saving over a non-CI based check-in approach comes from.
CI can be used on large projects too, like Visual Studio Tools for Office where it was a major part of our strategy to be more agile using feature crews and involved a lot of integration between branches – paper here:
Ade Miller and Eric Carter (2007) Agility and the Inconceivably Large, Agile 2007, 13-17 Aug, Washington DC. (paper and slide deck)
There’s some more general guidance from Microsoft on how to use TFS for branching, which may be a key part of your divide and conquer strategy with small agile teams contributing to a larger project:
There’s also a book on Continuous Integration by Paul Duval. I have the book but haven’t had time to read it through yet, it looks very promising. I kep meaning to finish it and write a review. When I do it’ll be published here.
At p&p we’ve used CruiseControl.NET for our CI server and for small teams wanting a lightweight approach that can be quickly setup by one person in under a day then CC.NET is ideal. For larger environments where tight integration between the CI build and source code control then Visual Studio Team System’s Team Foundation Build feature may be more appropriate.
If anyone has any other resources they found useful in getting their CI build off the ground then please add them in a comment!
6 Responses to “Continuous Integration resources”
A lot of useful information, thank you.
I would also like to point out a useful configuration editor for CruiseControl.NET that can make set up even easier. http://codeplex.com/ccnetconfig
By Ryan Conrad on May 13, 2008
I have a guide on how to do continuous integration with C# projects using Hudson. Hudson is a very easy to configure and use CI server.
http://redsolo.blogspot.com/2008/04/guide-to-building-net-projects-using.html
By redsolo on May 14, 2008
If you haven’t seen CI Factory by Jay Flowers (http://www.cifactory.org/joomla/) then you definitely need to take a look. It makes CC.NET installation, configuration, and integration with supporting tools incredibly easy.
By Ryan Anthony on May 14, 2008
I have looked at CI factory briefly. We’ve not used it at p&p largely because we sort of have an out of the box CI story already. I’ve heard good things about it though.
By Ade on May 14, 2008
I find very interesting that you, as a Microsoft dev team, choose CC.Net for small projects rather than VSTS. As you point out, VSTS may be more useful for a larger project.
Do you know that the ThoughtWorks team did a CruiseControl in Ruby. It seems very easy to configure your build script that way than in XML. Here is the link:
http://cruisecontrolrb.thoughtworks.com/
Also, thank you for your speeches in Quebec; they were very good and inspiring!
By Karl Metivier on May 16, 2008
Karl,
Just to be clear we’re currently using CC.NET but are evaluating moving to VSTS 2008’s Team Build as we spin up new projects on 2008.
There are some features I’d really like to try out, notably the drop management features.
Thanks,
Ade
By Ade on May 16, 2008