This chapter examines the build automation capabilities of Team Foundation Server—what is provided out of the box, how to use it, and how to customize it to suit your organizational requirements. But first, let's take a quick look at build automation in general.
After version control, automating the build is the second most important thing you can do to improve the quality of your software.
Only after the parts of your application come together can you tell if your application works and does what it is supposed to. Assembling the parts of an application is often a complex, time-consuming, and error-prone process. There are so many parts to building the application that without an automated build, the activity usually falls to one or two individuals on the team who know the secret. Without an automated build, even they sometimes get it wrong, with show-stopping consequences that are often discovered very late, making any mistakes expensive to fix.
Imagine having to recall an entire manufacturing run of a DVD because you missed an important file. Worse still, imagine accidentally including the source code for your application in a web distribution, or leaving embarrassing test data in the application ...