Releasing software

A release is a repeatable plan that is used to drive deployments.

Releases are the organizing focus of software deliveries. Releases can represent any software-development-related event, from major milestones in the life of the company to comparatively minor events, like recurring maintenance. You can schedule a release at any point in your development-operations lifecycle. You can automate release schedules or manually run deployments.

A release contains deployment plans and events that are related in some business-meaningful way. For example, the deployment plans might represent the phases in a software development lifecycle, such as development, QA, and production. An event might represent a blackout that affects the release.

Every value stream has a corresponding pipeline generated for it, and every pipeline has deployment plan templates. The tight relationship between pipelines and deployments makes it easy to use pipelines to drive deployments. You can start a project by creating a release and adding deployment plans and events to it. Or you can start with value streams and pipelines and then join them to a release. You can run deployments directly from a pipeline or from a deployment plan.

You can coordinate several releases into a single event, which ensures that all release stakeholders can participate. If you add events to a release, you can use the calendar to organize releases and deployment plans.