Each TPC needs a separate Build Controller

If you are going to start using TFS 2010 please be aware that each TPC (Team Project Collection) needs a separate Build Controller.

For those who are intended to use TFS 2010 as their ALM engine, TFS 2010 can contain several TPCs. Each TPC can contain several Team Projects. Each Team Project is a regular space in TFS that contains Work Item Management, Source Control and Build automation. Build automation in each Team Project contains several Build Definitions that build project with several conditions. Each Build Definition is assigned to a Build Controller. A Build Controller is a build server that builds project using conditions defined in Build Definitions.

In other hands while defining a new Build Definition you must specify its Build Controller. Unfortunately with TFS 2010 you can not use Build Controller defined for say TPC number one for say TPC number two. Each TPC must have its own Build Controller.

Considering that a Build Controller is really a server, assigning a server to each TPC defined in TFS is not very applicable in most companies and teams. There is an article in MSDN blogs that shows a way to use a single Build Controller in several TPCs. As the article itself emphasis, this hack is not recommended for operational installations. Some people like us have been forced to use a single TPC for all Team projects. This work-around has many disadvantages like interfere of Team Projects, security issues, etc, but at least have solved the problem of need to several servers as Build Controllers.

See also:
My question in StackOverflow
Related content in TFS forum
Related content in GeeksWithBlogs
Jim Lamb’s hack for the problem


  1. Mike

    I work more with IBM/Rational tools but once in awhile I am contracted for TFS-2010 consulting work. I am surrently working on completing my SVN to TFS-2010 migration via Timely Migration which is cool. I am now startying the actual Build migration and my first question to IT was where is the Build Server? They seem to think that no extra server is required but that is the only way I have ever seen these solutions configured be it Rational or TFS.

    Question1: It is advised to have at least one (1) seperate server to taget for TFS Builds through a Build Controller for my primary TPC?
    Question2: Can I run this on my same app server?


  2. afsharm

    ‪@895e3c07c0ea3b35d70525bf51e6e241:disqus : Currently I have a single machine that runs TFS core, Build Controller, Build Agent and everything else needed for TFS including SQL Server 2008 R2. This machine runs MS Windows 2008 R2 x64.

    I have no problem with it. It runs very well. Our machine is a Core i7 with 8 GB RAM. Our team size is 10.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *