This months TFS Times newsletter is going to focus on TeamBuild in VSTS 2008. As I was putting it together, I decided that I would write I nice post on a step by step walk through of a new BuildDefinition. So here goes.
The first thing you will notice is that the name has been changed from Build Types to Build Definition. You want to select that option.
You will notice that the Build Definition Wizard has changed considerably in VSTS 2008. On the left side are the steps that you will complete. Rather than this being a true wizard where you select “Next”, you actually will click on the left side items. This will allow you to bounce around the definition setup. You will also notice the yellow triangles. These denote items that need to be completed.
On this step you will give the Build Definition a neame and optionally a description. Another neat feature is the checkbox that allows you to disable the build definition. This is nice if I decide that I do not want the build available due to incompleteness of the setup, or in cases where it has been deprecated, but you do not necessarily want to delete it.
The next item in the list is Workspace. This replaces the need to have to customize the workspacemappings.xml file in vsts2005. If you recall (or maybe not), that in VSTS2005 the build server would pull down all the files in a project unless you defined the exact location of the code files you wanted to build. This would sometimes cause the build to run way to long. For example the build machine might pull down 10 mb of files to run a build on a 2 mb solution. This new step eliminates the need for the workspacemappings file and gives you a nice UI to setup the the location of the files you want to build.
The next step is required. It allows you to decide where to put the Build Project file that gets created. Again, if you recall in VSTS 2005 you had to accept default location of the builds project files. This was not always an ideal solution and so in VSTS 2008 the team decided to allow the users to place the build project files where they wanted to.
As if it can’t get any better, we now have a retention policy. This is awesome!! I have the ability to decide how long to keep builds around for. For example you may want to keep all failed builds around until the team has had a chance to review the failure. You will also notice the new “Partially Succeeded” build outcome. This is a neat feature that I really like. The usual scenario for this outcome would be when the tests failed, but the build compiled correctly.
The required next step is to define the build agent (build machine) that will actually run the build. You have the choice of giving the agent a friendly name (as opposed to some obscure machine name) so that you can easily distinguish it from other agent you may have. The computer name is the name of the build machine. Refer to build docs for the maening of all the items on this screen. Most folks just need to define the build machine name and a drop location for the binaries.
Lastly we have the ability to schedule the builds. This is a fantasic feature that I have been waiting for. No more having to create custom solutions or Scheduled Tasks on the build sevrer. This is the mechanism for setting up Continuos Integration as well as anyother schedule you like. As you can see I am going to run a build every weekday at 9:00 PM no matter if there were changes or not.
To sum it up, the build functionality in VSTS 2008 contains some of the best new features. Please take the oportunity to check out the latest edition of the TFS Times newsletter for more cool features and insights into TeamBuiild.