Team Foundation Server 2010 radically changed the architecture of Team Foundation Server. Introduced the concept ofteam Project collection, and element for organizing and grouping Team Project, as well as providing the capability to isolate content and facilitate the process of backup and overall maintenance of Team Foundation Server. Other major appearances was related to Team Build 2010, the concept of Build Controller and Build Agents, it provides us with a very wide possibility when we need to configure compilation settings.
Perooooo (sorry there is a but one very ugly), there is a limitation associated with a Build Service:
A single BUILD service can be associated to A team PROJECT collection
This means that if we have 3 Team Project Collections, as shown in the following image,
in the same single server we have our build service pointing to one of the 3 Team Project Collections. What is more, if from a Team Project you want to configure a definition of build in a TPC is not configured with the Build Service, because we will have an error similar to this:
2: Microsoft Visual Studio
4: TF225001: Creating a build definition requires a build controller be defined
5: for this team project collection. There may not be any controllers configured
6: or you may not have permissions to view them.
7: Contact your Team Foundation Server administrator.
The following tutorial describes the steps not officers to set up a new service from Build pointing to the TPC [TPCBuild], and assuming that the configuration of the service by default points to TPC [ALMBook]. I repeat, this is not supported by the product team, so I recommend you study other alternatives before taking it as a solution for official support.
1. Open a command window with administrator permissions.
2. Then we will create a new Windows for Team Build Service. To do this, run the following command:
SC.exe create [% service name %] binpath = “[% TFSBuildServiceHost.exe% Path] [/NamedInstance:[%TFSServerInstance%]” DisplayName = “[% Display % Service Name]”
Where for my example, the values would be in the following way
SC.exe create “teambuildtpcbuild” binpath = “C:\Program Files\Microsoft Team Foundation Server 2010\Tools\TfsBuildServiceHost.exe /NamedInstance:TeamBuildTPCBuild” DisplayName = “Visual Studio Team Foundation Build Service Host (TPCBuild)”
3. Once executed the command, we can see in the list of Windows services, the new service with the name and description set out in the previous step:
4. Then, to be able to manage the Build Service from the Team Foundation administration console, modify the environment variable TFSBUILDSERVICEHOST to the value we use [% TFSServerInstance %], for example:
SET TFSBUILDSERVICEHOST = TeamBuildTPCBuild
5. Once set this value, you can open the Team Foundation administration console, but bearing in mind that we must open it from the same console commands in which we work. Depending on the location where you have installed TFS, the following command may be different, but in the default installation the console launches with:
“C:\Program Files\Microsoft Team Foundation Server 2010\Tools\tfsmgmt.exe”
6. As we see in the image below, the information you see for the Build Service is associated with the TPC [ALMBook], we must stop the service and unregister it (Unregister) to update the information for this service.
7. Once arrested and removed the registration, we can see how the configuration of Team Build is clean and ready to be configured.
8 Configure the service pointing to the TPC [TPCBuild] and change the Port 9191 default to another port. This point is very important because if we have recorded in the same port service Build, well… it doesn’t work.
9 Create a Build Controller and Build Agent, taking into account that the same will be associated with the Windows service we created in the previous step.
10. Finally commenting on, as well he says Jim Lamb in his blog, it is important to change the path by default where points the workspace of the Team Agent work, because as default is the number of the AgentId, because it is likely that correspond to the same path of the “other agent”.
11. Already we can start using this new build service.
Greetings @ Home