Information Technology Reference
In-Depth Information
Commit Build
(Lightweight)
Feedback
Mechanism
Generate
Compile Source Code,
Integrate Database,
Run Tests,
Run Inspections,
Deploy Software
:
Commit Changes
Poll
Developer
If Commit Build Successful
Version Control
Repository
CI Server
Integration Build
Machine
Commit Changes
Secondary Build
(Heavyweight)
Developer
Longer Running Tests
(Component, System,
Functional, Performance),
Code Coverage
FIGURE 4-6
A staged build process
Fowler refers to as staged builds: a commit build followed by a sec-
ondary build). Figure 4-6 illustrates this approach. In running staged
builds, you first run an initial integration “commit” or lightweight
build that integrates the software components and runs unit tests to
root out any obvious problems. After this lightweight build is success-
ful, a more exhaustive integration build is run to include component
tests or system tests, inspections, and deployment. This supports the
practice of “fail builds fast,” described earlier in this chapter.
Examine Infrastructure
You may discover that integration builds are slow because of the sys-
tem infrastructure. Perhaps network performance is slow or there is a
slow-performing virtual private network connection. Geographically
dispersed systems and unreliable hardware or software can also induce
performance issues. Investigate and improve any infrastructure
resources to reduce the build duration.
Search WWH ::




Custom Search