Information Technology Reference
In-Depth Information
TABLE 4-3
CI Practices Discussed in This Chapter
(Continued)
Practice
Description
Build for any
environment
Run the same automated build on your worksta-
tion, on the integration build machine, and for any
other platform environment as necessary.
Use a dedicated inte-
gration build machine
Use one machine dedicated to running your
builds. Ensure that the integration location is free
of old build artifacts.
Use a CI server
In addition to or as an alternative to running man-
ual integration builds, use a CI server, such as
CruiseControl, to automatically poll for version
control changes and run an integration build on a
separate machine.
Run manual integration
builds
Run a sequential integration build manually using
an automated build as an approach to reduce inte-
gration build errors. Some use this approach as an
alternative to a CI server.
Run fast builds
Try to get your integration builds down to ten min-
utes by increasing computing resources, offload-
ing slower tests, offloading or reducing
inspections, and running staged builds.
Stage builds
Run lightweight “commit” builds that perform com-
pile, unit test execution, and deployment followed
by heavyweight “secondary” builds that include
component, system, and other slower-running
tests and inspections.
■
Is your build automated? Are you able to run your build without your
IDE?
■
Have you centralized all of your software assets into your version
control repository? Are you able to perform a complete build by get-
ting all necessary files from the version control repository?
■
Do you ensure that the build tasks that are more likely to fail are at
the beginning of your build scripts so that you receive notification of
a build failure quickly?