What Is A Good Build Machine?
When I come to work with customers on builds first I ask where the build machine is.
Most chances that I will get one of the following three answers:
- It is on my Team System server.
- It is on my computer.
- It is on one of the developers computer.
All three situations are wrong when it comes to build machines.
What is a good build machine and where to install it?
My opinion is to put it on a “clean” computer that has no more then the minimum that is required for the compilation of the application and for running all the required tests.
The required tests are first all the Unit Tests made for the target application, in addition to that a team can require that more tests for example “Sanity Tests” will be executed as well.
So what is the minimum that is required for this “clean” computer?
The minimum is all the applications, DLLs, Compilers etc. when it comes to software and the minimum hardware that is required for the compilation.
When it comes to tests you will need to have the “Test Engine” installed on the build machine too.
It is important to keep the build machine has clean as possible, so when the build fails you will know that the cause doesn’t lies in something that is installed on the computer.
Back to the answers I get, it is now obvious why all three situations are wrong, all three situations are build machines that runs on a computer with a different purpose.
The first one is a server that runs the TFS and all its additions, and the other two are development computers.
What do you think?
Have Fun!!!
This post was also published in my personal blog here.