Setting up a Dedicated Team Build Server
Here's a quick guide to setting up your very own Dedicated Team System Build Server.
We chose an older, less powerful server at Vertigo: 512 megabytes of memory, dual P3-500, 18 gigabytes of storage. Probably a little underpowered by modern standards, but it should be fine for build server duties. We call it tsbuild01.
Once you've picked out a server, you'll need to do a few things:
- Create a domain account for the build process.
And yes, it must be a domain account. We chose vertigo\tfsbuild.
- Install the Team Build Service
It's a little hard to find, but look in the \build folder of the Team Foundation Server media for the Team Build Service installer. You'll need the build domain account to complete the install, so make sure you have that set up first.
- Install Visual Studio Team Suite
You must install Team Suite on the build server. As I mentioned in an earlier post, the build process has dependencies on shared components in Visual Studio. This is why most shops need at least one license for Team Suite. But the good news is that Microsoft has blessed us with a dual-use license specifically for the build server: you can install it on the build server, and the lucky developer of your choice gets to use it on their desktop, too.
- Create \Builds and \Drops folders
You need a place for the output of the build process to go: c:\builds and c:\drops.
Note that you must make the drops folder a public share with write permission for Everyone, eg, \\tsbuild01\drops\. This is required, or else the build will fail.
(I also shared out the builds folder, but I'm not sure if this was really necessary or not.)
Once you've gotten all this set up on the server, you're ready to set up the client. Expand the Team Builds node in Team Explorer, right click it, and select new Team Build Type.
Here you'll need to specify the appropriate server name and paths we set up earlier:
The build machine is tsbuild01, our build directory is c:\builds\ and the drop location is \\tsbuild01\drops. Set the rest of the options in the wizard to taste.
Now, before you rush off and start building, there's one thing you have to do first: add the team build domain account to the build services group for your team project!
If you don't do this, the build will fail, because the build service has no permissions to retrieve your project from source control.
Now that everything's set up on the server and the client, we're ready to get our build on. Right click the Team Builds node again, and select Build Team Project. Choose the build type we just created.
I'm not sure why it lets us override the settings when we initiate the build, but don't do that for now. Kick off the build with all default values, and you'll see the build results page build in real time:
Mission Accomplished: a successful build on our dedicated build machine!
If you check the network path \\tsbuild01\drops\, you'll find the result of our build there, in a time and date stamped folder:
BuildWindowsFormsClient_20060623.1\BuildLog.txt
BuildWindowsFormsClient_20060623.1\Release\WindowsFormsClient.exe
BuildWindowsFormsClient_20060623.1\Release\WindowsFormsClient.pdb