Overview of Team Foundation Build

Team Foundation Build provides the functionality of a public build lab and is part of Visual Studio Team Foundation Server. With Team Foundation Build, enterprise build managers can synchronize the sources, compile the application, run associated unit tests, perform code analysis, release builds on a file server, and publish build reports. Build result data is propagated to the warehouse for historical reporting. Team Foundation Build works with other Team System tools during the build process, including source control, work item tracking, and with test tools. For more information, see Team Foundation Source Control and Querying for Work Items.

Team Foundation Build:

  • Build Type Provides an interface which lets the user define the build steps and build parameters needed for their builds.

  • Build Execution   Leverages the build type to build the product and generate build outputs. It runs all build steps including execution of test code, updates work items, and calculates build metrics.

  • Build Report   Provides a view into the execution of the build. The report lists the overall build status including detailed build steps, work items resolved, code changes, and summary of test execution. The build reports are viewable from Team Build Browser. For more information, see Understanding the Team Foundation Build Browser and Working with Team Foundation Build Reports.

Team Foundation Build also provides the capability for public and private or desktop builds.

To get started with Team Foundation Build, see Walkthrough: Creating a Build Type in Team Foundation Build.

Architectural Overview of Team System Team Build

Team Foundation Build is designed for use with Team Foundation in a distributed manner as shown in the illustration in the following table. Team Foundation Build includes the following components:

Team System Team Build Component Tier Description

Team Foundation Build Type Creation and Build Reports

Team Explorer

Build reports and build progress information is viewable in Team Explorer using the Team Build Browser. For more information, see Understanding the Team Foundation Build Browser.

New build types can be created using the New Team Build Type Creation Wizard. For more information, see How to: Create a New Build Type.

Source Control

Team Foundation application tier

data tier

The Team Foundation source control server that stores all the source code.

Team Foundation Build Web Service

Team Foundation application tier

The Web service running on the application tier that accepts requests from the client and coordinates the execution of build steps. 

Build Service

Separate build computer

The service running on the build computer(s) that runs the build steps on instructions from the Team Build Web service.

Team Foundation Build Store

Team Foundation data tier

SQL database store used to hold records affiliated with Team Foundation Build build processes.

VS Big Build Architecture Overview graphic

Interaction with Team Explorer and Team Projects

Team Foundation Build seamlessly interacts with Team Explorer. Team Foundation Build associates build types as part of team projects and they are listed in Team Explorer in the Team Builds folder. Operations such as starting a build and creating new build types can be invoked through Team Explorer. Under the Team Builds node for each team project are various build types defined in the team project.

Topologies

The following are the possible deployment topologies that can be used with Team Foundation Build:

  • Server, data tier, and build computer on a single system.

  • Server and data tier on one system and the build computer on another.

  • Server on one computer, data tier on a second computer, and the build computer on a third.

  • Server and data tier on one computer, build computer on a second, and a third build computer specifically designated for sensitive projects.

  • Server and data tier on one computer, build computer on a second, and third build computer for rolling or continuous integration builds.

  • Server and data tier on one computer, build computer on client.

  • Server and data tier on one computer, farm of build computers.

  • Server and data tier on one computer, build computer on a second, and a load or remote test computer.

Security

Build computers can be installed on either the application tier, data tier, or on the client. The build process can be customized to run any user supplied code which will be run with greater permissions on the build computer. Therefore, user code can perform certain actions which may not be able to run on their development computer. Similarly certain deployment steps that are part of the build, may require administrative permissions. If the Team Build service account is part of local administrators group on the build computer, running any user code will therefore have administrative permissions. If the build computer is on the application tier, the user could present a security risk. Similarly on the data tier, local administrators can change the database and potentially perform insecure actions.

Consider the following points when configuring your topology with Team Foundation Build:

  • Security risks are introduced by installing build computers on either the application tier or the data tier.

  • Running user code from an untrustworthy source could compromise the information on the computer.

See Also

Tasks

How to: Create a New Build Type

Concepts

MSBuild Overview

Other Resources

Understanding the Team Foundation Build Browser