Information Technology Reference
In-Depth Information
Would you consider software that hasn't been tested to be working
software? How about software that was tested but hasn't been
inspected? Suppose someone said, “Everything works except for the
database”—is this working software? Some developers consider their
software to be working if it compiles. There are different types of
builds (covered later in this chapter), and you will be balancing
between a need for a heavyweight build that verifies and produces
working, deployable software (usually via many types of tests and
inspections) versus the need for getting rapid feedback.
Perform Single Command Builds
Martin Fowler states, “Get everything you need into source control and
get it so that you can build the whole system with a single command.” 2
The Integrate button concept is realized only if you can run your build
via a single command. For instance, typing nant integrate from the
command line, as shown in Listing 4-1, is an example of a single com-
mand initiating an integration build.
LISTING 4-1
Build Script Run via a Single Command
> nant integrate
Buildfile: file:///C:/dev/projects/acme/project.build
clean:
svn-update:
all:
compile-src:
compile-tests:
integrate-database:
run-tests:
run-inspections:
package:
deploy:
BUILD SUCCEEDED
Total time: 3 minutes 13 seconds
A CI server needs a headless process, such as a single command
script, to execute in an automated manner. When running an integration
2. “Continuous Integration” at www.martinfowler.com/articles/
continuousIntegration.html.
 
Search WWH ::




Custom Search