Continuous integration with Team System and Team Foundation Server - ISerializable - Roy Osherove's Blog

Continuous integration with Team System and Team Foundation Server

Team foundation server is a monster. Seriously, it's so big and heavy, that trying to do something as simple as adding custom actions to a build process, reading the documentation and googling on how to achieve this is like drinking water from a fire hose:

  • There's way too much to sift through
  • It stinks
  • After you are done you wonder if you weren't better off just sitting at home watching TV for a week.

Take continuous Integration (CI for short)for example. The basic idea is that whenever a checkin occurs on the project's codebase, an automated build is triggered that also does lots of other things (like run all the unit tests etc..). If that build fails you know almost immediately that you checked in code that broke the build. When you have CI in place as part of your development process, you can work through your integration problems much more quickly and with less pain as you keep building the software, and not hog them all until the last month of the project where suddenly everything goes wrong and everyone pulls their hair out. With CI in place, the release build should (hopefully) be just another automated build, nothing more.

How easy it is to do CI with Team System?

It's impossible to do it out of the box - you can't hook into the source code eventing system in any humanly-reasonable way.

  • It's so bad that a PM from Microsoft had to post an extension to Team System in the form of an installer to get this to work.You can download the CI support for Team Foundation Server here as well as read the instructions on how to use it. Here's the MSDN article that describes it in more detail.
  • Update: Also, Mickey Gousset sends word of TeamCI - a Continous Integration solution for Team System (no real docs yet..)
Published Sunday, September 24, 2006 3:05 AM by RoyOsherove
Filed under: ,

Comments

Saturday, September 23, 2006 11:11 PM by Javier G. Lozano

# re: Continuous integration with Team System and Team Foundation Server

Roy, Have you seen Automaton? http://www.codeplex.com/Wiki/View.aspx?ProjectName=automation The project contains an attempt to a CI web service implementation, however, the method signature is wrong. It needs an extra parameter for it to work.
Monday, September 25, 2006 4:31 AM by Trumpi's Blog

# Team Foundation Server && Continuous Integration == false

Roy Osherove has recently written a blog entry where he outlines his frustration at getting continuous

Monday, September 25, 2006 9:23 AM by Mickey Gousset

# re: Continuous integration with Team System and Team Foundation Server

Notion Solutions has released a free Continuous Integration tool for Team System. (http://teamsystemrocks.com/files/12/tools/entry1018.aspx)
Wednesday, October 11, 2006 1:45 AM by Wayne Allen's Weblog

# PnP 2006 Continuous Integration Resources

Here are the resources frommy 10/11/06 talk Continuous Integration at PnP 2006Martin Fowler http://www.martinfowler.com/articles/continuousIntegration.htmlWikiPedia

Monday, October 23, 2006 4:25 PM by Daniel Cazzulino

# re: Continuous integration with Team System and Team Foundation Server

Hey Roy, there's also a very nice solution here: http://blogs.vertigosoftware.com/teamsystem/archive/2006/07/14/3075.aspx (I contributed a bit to it too)