Continuous Integration using Team Build

You can easily get Team Build setup to perform Continuous Integration - a number one ask from most of the users of Team Build. Here is a sample which kishore and I came up with which helps you to get going with it (for beta3 and beta3R)

Follow these simple steps I followed to setup my CI sample

1. Install the CI.msi

2. In the second page of the wizard when it asks me for Site – I choose ‘Team Foundation Server’, Virtual directory is CI

3. I am done and the CI tool is installed.

 

4. I go to IIS manager and check if CI has been registered under ‘Web Sites’ ‘Team Foundation Server’

5. Go to the properties of CI and make sure the Application Pool chosen is ‘TFS AppPool’

 

Now I need to edit the web.config file in the CI tool

 

6. I go to the local path where CI has been installed – in my case by default it has gone to d:program filesMicrosoft Visual Studio team Foundation ServerwebservicesCI

7. uncomment the following line and add the name of the TFS server, team project name and build type name

<add key="1" value="TeamServer=https://MyMachine:8080;TeamProjectName=AdWorks;BuildType=CI"/>

 

Finally I need to subscribe to the checkin event notification using bissubscribe

 

8. subscribe to the notification using Bissubscribe

To do this, use the bissubscribe tool available at “%programfiles%Microsoft Visual Studio 2005 Team Foundation ServerTF SetupBisSubscribe.exe" on the server.  The command to use is

Bissubscribe /eventType CheckinEvent /address https://khushboo-dev1:8080/ci/notify.asmx /deliveryType Soap /domain https://khushboo-dev1:8080  

 


Voila! You have CI all set for you, make a quick checkin and see if you get that build triggered off !

 


Something seems to be wrong still ? - Go through this list to make sure everything is in place

- Did you remember to choose Team Foundation Server while as the site or was it created under the default web site

- Did you remember to choose the TFSAppPool as the Application Pool

- Sometimes after subscribing to the checkin event – iisreset is needed

 

The sample consists of:

  1. notify.asmx

  2. web.config – the configuration page which contains the properties for continuous integration.

  3. app_code*.cs – the source code for the application.

  4. bin*.dll – the reference assemblies.

Soon you will find a detailed whitepaper on this sample on MSDN - till then have fun with the sample and feel free to let us know what do you think of this.