Create and Work with a Build Controller

To use Team Foundation Build, your team must have at least one build controller, which pools and manages the services of one or more build agents. It performs some tasks, but it distributes processor-intensive work (such as compiling code or running tests) to the build agents within its pool. Each build controller is dedicated to a single team project collection.

Before You Start:

  • You should read about the role that build controllers play in a build system, in addition to different ways to use them. For more information, see Understanding a Team Foundation Build System.

  • A build controller is hosted on a build machine. Therefore, you must configure a build machine before you can create and work with a build controller. Each build machine can host a single build controller. For more information, see Configure a Build Machine.

In this Topic

  • Required Permissions

  • Create a Build Controller

  • Modify a Build Controller

  • Build Controller Properties Dialog Box

  • Remove a Build Controller

Required Permissions

To perform this procedure, you must be a member of the Administrators group on the build machine, and your Manage build resources permission in Visual Studio Team Foundation Server must be set to Allow. For more information, see Team Foundation Server Permissions.

Create a Build Controller

To create a build controller

  1. Log on to the build machine on which you want to create the build controller.

  2. Click Start, click All Programs, click Microsoft Team Foundation Server 2010, and then click Team Foundation Administration Console.

    The Team Foundation Administration Console appears.

  3. In the tree pane, expand the name of the server.

  4. Click the Build Configuration node.

    Information about the build machine appears in the content pane.

    If the message Build Service is configured for… or the message Build Service is not registered appears, see Configure a Build Machine.

  5. If the New Controller link appears in the content pane, click this link.

  6. (Optional) Immediately under the name of the build controller, click Properties to modify various properties of the build controller.

    The Build Controller Properties dialog box appears. For more information, see Build Controller Properties later in this topic.

  7. If the Start link appears immediately under the name of the build controller, click this link.

Modify a Build Controller

You can modify a build controller from either a client machine or directly on the build machine that hosts the build controller.

To modify a build controller from a client machine

  1. In Visual Studio, open the Build menu, and then click Manage Build Controllers.

    The Manage Build Controllers dialog box appears.

  2. Select the build controller that you want to modify, and then click Properties.

    The Build Controller Properties dialog box appears.

To modify a build controller on the build machine

  1. Log on to the build machine that runs the build controller that you want to modify.

  2. Click Start, click All Programs, click Microsoft Team Foundation Server 2010, and then click Team Foundation Administration Console.

    The Team Foundation Administration Console appears.

  3. In the tree pane, expand the name of the server.

  4. Click the Team Foundation Build node.

  5. Immediately under the name of the build controller that you want to modify, click Properties.

    The Build Controller Properties dialog box appears.

Build Controller Properties Dialog Box

In the Build Controller Properties dialog box, you can view or change the display name and the description, in addition to other properties that affect how the build controller functions.

Display Name, Description

Provide a name and a description that can help people easily identify and get important information about the build controller. For example, these values can help members of your team specify the correct build controller when they define a build.

Computer Name

This box displays the name of the build machine that hosts this build controller.

Version control path to custom assemblies

You can use this field to enable your builds to leverage the following kinds of assemblies:

  • Assemblies that contain custom workflow activities

  • Custom MSBuild tasks

You can check this kind of code into any folder that is a descendant of the folder that you specify in this field.

Note

If you set or modify this value, Team Foundation Build Service will automatically restart to load the new assemblies.

Maximum number of concurrently running builds

You can use this field to control the depth of the build queue. In most cases, you should leave this value set to Default to number of agents.

In some situations, you might find that too many builds show a status of Running even though many of them are stalled as they wait for a build agent to be assigned to them. This kind of situation can be confusing to a team. In these situations, you might want to click Specify the maximum and then specify a value that is lower than the number of build agents that are pooled under the build controller.

For example, you might design a custom build template to enable your builds to leverage more than one build agent at a time. You have 12 build agents pooled under your build controller. The builds that are processed by this build controller are based on a custom build template that concurrently uses three build agents to process the build. To give the build queue a more accurate appearance, you could configure the build controller with Maximum number of concurrently running builds set to Specify the maximum, with a value of 4.

Build Controller service is enabled

Select this check box to enable this build controller to function, or clear it if you want to disable it and prevent builds from being assigned to it.

Tip

You can avoid some problems by disabling a build controller whenever you are performing maintenance on the build machine.

Remove a Build Controller

You can remove a build controller either by using a client machine or directly from the build machine that hosts the build controller.

Note   Removing the build controller does not uninstall Team Foundation Build Service from the build machine.

To remove a build controller by using a client machine

  1. In Visual Studio, on the Build menu, click Manage Build Controllers.

    The Manage Build Controllers dialog box appears.

  2. Click the build controller that you want to remove, and then click Remove.

To remove a build controller from its build machine

  1. Log on to the build machine that runs the build controller that you want to modify.

  2. Click Start, click All Programs, click Microsoft Team Foundation Server 2010, and then click Team Foundation Administration Console.

    The Team Foundation Administration Console appears.

  3. In the tree pane, expand the name of the server.

  4. Click the Team Foundation Build node.

  5. Immediately under the name of the build controller that you want to remove, click Remove.

See Also

Concepts

Define Your Build Process