Introduction to deployment tracking

This chapter introduces deployment tracking concepts, and explains how Rational(R) ClearCase(R) and Rational ClearQuest(R) facilitate the deployment tracking process.

Benefits of deployment tracking

The focus of software configuration management has historically been on managing changes to software assets during the development phase of your project. Your project artifacts, however, run on limited sets of hardware and software with specific environment and configuration requirements. Therefore, after your development phase is complete, you need to move your software artifacts from your software configuration environment to your test environment, and ultimately to your production environment. Examples of organizations who need to do this include:

Organizations who follow iterative software development processes need to continually deploy software. An example phase of an iterative development and deployment process is shown in Figure 1.

Figure 1. An iteration of a development and deployment lifecycle
Figure 1 shows an example of one iteration of a development lifecycle,  from when a application is submitted to when it is approved for release into  a production environment.

In a given iteration of your development process, your team performs functional testing, where your software is deployed to test servers and tested. During testing, defects are found, reported, and fixed, with the newly built application deployed back to the test servers for additional testing. This cycle is repeated in each subsequent iteration of your development process. During this process, it is critical for your team to know exactly which versions of your build artifacts you need to deploy.

Using Rational ClearCase and Rational ClearQuest to track deployments

Many organizations have multiple test environments through which their release must pass before going into production; for example, required testing phases for a release could consist of system testing followed by integration testing, performance testing, and preproduction testing. In this model, when the release has met quality standards for a given test phase, it moves forward to the next testing phase in the sequence. If a problem with the release is discovered in any testing phase, the deployment is rejected and the cycle repeats again, with developers correcting defects in the product. As more software defects are fixed and your release becomes more stable, you can implement more specialized and more rigorous testing phases that your software must pass before it is deployed into a production environment.

Some organizations require a release to be approved before it moves from one testing environment to the next. Companies who must comply with regulatory standards track and audit build processes and approvals of software deployments; for example, these companies may require that a project manager keep records of builds and approve releases using e-signatures. Rational ClearCase features build auditing capabilities that enable you to keep bills of materials for your builds and to access and reproduce previous build artifacts as needed. You can implement a process for managing the deployment of your release through your test environments using a Rational ClearQuest deployment record. A Rational ClearQuest deployment record enables you to track the set of build artifacts that you want to deploy through a link to a Rational ClearCase deployment unit. Each time you build your release, you create a new deployment unit in Rational ClearCase that contains a list of which versions of the build artifacts will be deployed. The Rational ClearQuest deployment record uses the Rational ClearCase deployment unit to track which build artifacts are deployed to which test environment at any point in the project lifecycle.

Therefore, using Rational ClearQuest and Rational ClearCase to facilitate the build and deployment process minimizes errors and inconsistencies that can arise during the course of your deployment. Rational ClearCase provides you with build management capabilities that enable you to identify the latest build at any time and to access and reproduce previous builds as needed. Rational ClearCase and Rational ClearQuest enable you to track your software deployment through your specified test environments and to approve the deployment as needed, providing audit trails for your software assets that satisfy regulatory compliance requirements. You could then deploy your application to a production system by integrating Rational ClearCase and Rational ClearQuest with a software provisioning solution such as Tivoli(R) Provisioning Manager. This integration automates your deployment process for your specific servers.

The following chapters illustrate how to use Rational ClearCase and Rational ClearQuest to track deployments. All procedures described in the remainder of this manual require that your Rational ClearCase administrator and your Release Engineering manager have set up your development and build environments, and that your Rational ClearQuest administrator has configured your schema repository and user databases for deployment tracking. For more information about implementing a development and build environment using Rational ClearCase, see the IBM Rational ClearCase Administrator's Guide and the IBM Rational ClearCase Guide to Building Software. For more information about applying deployment tracking packages to your Rational ClearQuest schema repository, see the Rational ClearQuest Help for Schema Developers.