Task: Package the Release |
| |
|
Each release should be built and packaged in a standard, controlled, and repeatable manner. |
Disciplines: Deployment |
|
Purpose
The purpose of this task is to render a complete, deployable package capable of being released into the production
environment by the deployment engineer. |
Relationships
Roles | Primary Performer:
| Additional Performers:
|
Inputs | Mandatory:
| Optional:
|
Outputs |
|
Main Description
The key activities normally used to package a release:
-
Assemble the components and integrate them through a normal (i.e., continuous integration) or release build script
-
Install the release package in one or more test environments and verify its integrity
-
Tag the elements of the release package in the code base to create a baseline
-
Package appropriate documentation to accompany the release:
-
Deployment plan
-
Build plan, procedures, and scripts
-
Backout plan
-
Relevant licensing information
-
Relevant infrastructure information
-
Release communiques
|
Steps
Assemble components
Question all the developers on the development team to determine which components are ready for packaging. Only package
those components that were completed and accepted during the previous feature development sprint/iterations. Components
that were not finished or not accepted should not be bundled, unless the customer has granted an exception or they are
infrastructure-related components. |
Test the release
After the components have been packaged and built, that executable should be installed and run in a test environment that
mimics the production environment. A "staging" environment usually is maintained for this purpose. Testing typically
includes a "smoke test" in which key features are exercised to highlight any unplanned behavior. |
Tag source code repository
In the team's configuration management (CM) tool, tag all the components that went into the release package so that the
package can be reconstructed at a later date, if needed. This tag is known as the release "baseline." |
Package release documentation
Gather all the product, user, and support documentation developed earlier in the production release sprint/iteration and
add it to the release package. |
Deliver release package
When the entire release package, including documentation, is ready, deliver it to the deployment manager and the release
team in a timely manner. Be prepared to answer questions from the deployment engineer, especially questions about
conformity to release controls. |
|
|