TFS Build

Today I checked in existing project solution in to TFS. I have to once again install TFS Build installer. Once I installed this, I was able to create a new Build script and TFS was able to execute the build.

TFS build performs

  • Getting the source code of the whole application
  • Building the whole application. If the build tasks succeed, Team Build places the binaries in a network share location specified in the Build scripts.
  • Validating the build by running automated tests
  • Reporting and releasing the build.
  • VSTS Team build is built on top of MSBuild. Team Build internally uses MSBuild for building the source code

    I did notice the following

    • Build machine can be a different machine from TFS server
    • Binaries from the build can be copied to a different server share
    • The build scripts can also be checked in to TFS, but process of editing was little confusing. If you Open already created Build script from Team explorer, you have a read-only copy of the scripts copied to the user App Data Path of the logged-in user and opened from there as read-only
    • when I repeated build I could see directories created with Build name prefixed with year month date and build number, which I felt was neat
    • One of my project which references a registered COM dll build well. I have registered COM DLL before the build on the build machine
    • when the build is a failure, I see that a bug has been added to the Bug Items list of TFS. How can i assign build bugs to a specific person
    • i was not able to build installer project, i am still trying to find out why

    One has to remember that  though you can check in VS.Net 2008 projects in TFS 2005, you cannot build them using TFS build 2005. So we need to have Build machine for 2008. One more place where you are asked to move to TFS 2008. is there a short cut?

    One may like to have a time based build(nightly)  or continuous integration build(when there is a check-in). TFS supports both of them

    TFS 2005 provides TFSBuild.exe to perform time based build in integration with Windows scheduler on the build machine

    There seems to be no out of the box support for integration build from TFS 2005. You can subscribe to the Check-in event programmatically from a service that runs always and the service on receiving the check-in event can start a new build

    Check-in event what? Seems that build success, build failure, Code check-in and code check-out event are fired by TFS and a developer can subscribe to them using a program and handle them accordingly