Information Technology Reference
In-Depth Information
Any Place
Automated builds and repeatable builds. Automated tests and repeatable
tests. Test categories and test frequencies. Continuous inspections.
Continuous database integration. This string of tasks in creating an
effective CI environment primarily enables one key benefit: releasing
working
software at any point in time, in any environment. As we said,
if you can't release your software, then it's almost as if it doesn't exist.
What makes up a typical deployment? Regardless of platform,
technology, or domain, deploying working software principally
embodies six high-level steps.
1.
Label
a repository's assets.
2. Produce a clean environment,
free of assumptions
.
3. Generate and
label a build
directly from the repository and
install it on the target machine.
4. Successfully run tests
at all levels
in a clone of the production
environment.
5. Create build
feedback
reports.
6. If necessary, you can
roll back
the release by using labels in
your version control repository.
Once your CI environment is established, these sometimes painful
steps can become as easy as pushing the Integrate button. You still need
to keep track of which of the delivered features were supposed to be
delivered based on customer expectations (bill of materials), but you
know that what
is
in there all works and constitutes working software.
The single command should be as simple as typing
ant deploy
.
Creating a repository label facilitates the identification and tracking of
assets, as it clearly delineates a group of files as belonging together.
What's more, labels enable historical tracking of a group of files—and