One of the most compelling features in Team Foundation Server is the integrated build server feature called Team Build. Team Build allows development teams to put up a build server which springs into life whenever a developer requests that a build is done of a particular solution.

I suspect that most organisations will start out with a shared build server, then as the specific build scenarios of projects become more diverse they will break them out and each team will have their own (possibly virtualised) build server – on on day one, you are going to have one build server, and more than likely its going to be on the same box as your TFS application tier.

One of the issues with doing this is that every time a new Team Project is created it needs to add the user account that the build server is running under to the [Project]\Build Services group and then restart the build service – this requires someone with administrative rights to perform this action.

During our BETA testing of Team Foundation Server we allowed all users to be administrators on the system and that quickly lead to chaos, so I wasn’t keen to go back to that, but I was less keen to become the bottle neck for a team that wanted to get their build happening – so I wrote a tool.

TeamBuildRestartCapture

Team Build Restart is a simple ASP.NET application that can be installed on the same box as your build server (assuming it has IIS). When you visit the page you are presented with a screen (above) which lets you stop and start the Team Build service. The application pool that the site is running in has to have sufficient rights to start and stop services on the box.

This Team Foundation Server tool was brought to you by the number 12:23AM, and the colour pink.