Do you have an official build machine or set of build machines?

An official build machine is an important tool for building and releasing software. If you don’t have a machine dedicated to that purpose, you have to worry about where each build and release comes from. Is the environment the same? Are all the dependencies the same? Which developer’s box do builds typically come from? What if he or she is out on vacation? Can you emulate that box enough to produce an equivalent build and release?

The answers to these questions may vary from product to product and company to company. The simplest solution, however, is to have a dedicated build machine that has a known environment, has all of the correct dependencies set up, and can be used to cut official builds whenever necessary.

This build machine (or set of machines, for larger products and longer builds) will be where official builds are created for release to internally, to beta users, and for customers. It can also be the machine that handles continuous integration or continuous deployment responsibilities. As such, it will not only be building the software, but running sets of tests, once it is built. Getting this machine up and running, and maintaining it as necessary, are the primary responsibilities of the a build and release manager.