QuickBuild 2.0 introduces the concept of a build grid to serve purposes including but not limited to:
- Accelerate the build process of a single build. As described earlier (see step definition), build process is defined by steps and they can be configured to run in parallel on different grid nodes (grid node represents a build machine with QuickBuild installed) based on load balancing algorithm.
- Run build tasks on build agents to reduce load of central build server. Steps can be configured to run on server or agent, however you should configure CPU and I/O intensive steps to run on agent nodes.
- Build, test or package multiple platform products. It is not unusual that a product contains components that need to be build or tested on different platforms. In QuickBuild, this can be easily achieved by specifying proper node match condition of the corresponding steps. For example, you can specify that a step compiling Linux components runs only on Linux nodes with GCC 4.0 installed, or it runs only on a node with the specified IP address or with the specified host name, while another step compiles Windows components and runs only on Windows nodes with Visual Studio 2008 installed.
Build grid consists of build nodes, where one build node is always the build server. Other build nodes are build agents connected to the build server.