TFS Check-in Validation Tool


What is the TFS Check-in Validation Tool? 

The TFS Check-in Validation Tool extends TFS Team Build 2008 by enabling buddy build queuing, validating check-ins using shelvesets, and build agent pooling, all from the VS 2008 IDE.

The tool is open source, hosted on CodePlex.

Installation Guide [view online]

Buddy Build Process Flow

Buddy Build Process Flow

User Interface

Buddy Build Scheduling Dialog

Features

The TFS Check-in Validation Tool is a collection of tools that allows you to perform the following functionality that is not provided by Team Build 2008:

  • Check-in Validation/Buddy Build functionality allows running buddy builds against one or more shelvesets by utilizing your existing Team Build Definition
  • Add one line to your TFSBuild.proj script to make it buddy-build enabled
  • The ability to check in shelvesets upon buddy build success
  • Ability to have a buddy build or a regular build request go against a Build Agent pool rather than queuing against the single build agent that was configured in the build definition
  • Custom MSBuild tasks that extend Team Build to allow running buddy builds
  • The ability to assign a weight to each build agent in the pool (for example, you might want to favor the agents with better hardware by assigning a higher weight to them to get them selected more often) and also to restrict your build pool size to a subset of the agents registered with the Team Project
  • The ability to specify a custom drop location for the buddy build
  • The ability to queue a buddy build against pending changes in your current workspace and have a shelveset be automatically created on the fly containing those pending changes, and the ability to undo local workspace changes after a shelveset is created off them
  • The ability to have the shelvesets automatically deleted after a successful check-in of shelved changes, following a successful buddy build
  • The ability to select specific local pending changes to shelve on the fly
  • Ability to specify a custom drop location for the buddy build
  • Ability to define a set of custom MSBuild properties on the Buddy Build Integration web service and have those leveraged and overridden from the client add-in

Buddy Build Process Sequence Diagram

Buddy Build Process Sequence Diagram