Integrate and Test

Once a release plan is finalized, it's time to test it and deploy it to non-production environments. Releases are implemented by deployments. A deployment targets a single phase and its associated environment (remember that each phase has a single environment associated with it). A deployment can be broad-based and use all applications in a release, represent a 1-off emergency deployment of, say, a single application, or anything in between. Deployments can be as precisely targeted as necessary.

UrbanCode Release's deployments brings together:

  • the schedule that defines when the deployment will occur and specifies whether it is a one-time or a recurring event

  • email notifications that are triggered by user-defined events and sent to a particular user or a user role

  • required approvals

Deployment, or deployment plans, are composed of segments. A segment represents release activities intended to be completed together. A segment can be configured to run after the successful completion of another segment, or can run independently of any other segment. A deployment plan can have any number of segments. The default plan has two segments: Pre-Deployment Tasks, and Deployment Tasks.

Once a deployment plan is defined, a deployment can be initiated at any time with a deployment request. A deployment request can start an entire deployment or a portion of the plan, such as an individual segment.

Tip

Ensure every team has a fall-back plan in addition to its primary one. The fallback plan can be a simple as rolling-back to an old version until blocks are resolved.