Automated builds are widely used in cross-platform software development. Build farm with build machines for each supported operating systems is required to build projects remotely and run tests on all platforms. With the rising popularity of software virtualization tools, it became possible to deploy a virtual build farm using a single physical machine.
Besides the build environment in each OS, the essential part of an automated build is the communication between the master machine and the build machines. The following communication jobs might be required:
The master should prepare and start the build machine
The master should send the source code directly to the build machine or fire sources fetching process from the build machine itself
The master should start the build process
The build machine should send build logs to the master during the build
The build machine should send result binaries to the master
The master should shut down the build machine
In this chapter, we will prepare...