Release definition (release pipeline)
What it is
A release definition (the classic “release pipeline” in Azure Pipelines) is the automated pipeline that carries a validated build artifact through stages — e.g. Dev → Test → Staging → Production — deploying it and running validation at each step. It’s the executable expression of a release strategy and of continuous delivery.
Why it exists
Manual deployments are slow, inconsistent, and risky. A release definition encodes how a release happens so every release follows the same, repeatable, audited path: deploy to each environment, run smoke/QA, pass gates or approvals, and finally reach production — with a rollback path when things go wrong.
Key ideas
- Stages = environments/gates the artifact flows through (Dev → Test → Prod).
- Deployment jobs/tasks per stage (e.g. deploy to App Service, run tests, publish).
- Deployment gates & approvals: pre-deployment and post-deployment checks (manual approval, health metrics, work items) that pause or block the release until criteria are met.
- Artifact source: consumes the build output from CI (build pipeline) — CI produces, CD consumes.
- Triggers: auto on new artifact (continuous deployment) or manual.
- Modern equivalent: YAML multi-stage pipelines with environments; classic releases are the GUI-driven model.
How it fits
CI produces a tested artifact; the release definition carries it to production safely. It is the tooling layer that implements CD and the chosen release strategy.
Exam notes
- Release definition = stage-based deployment pipeline for artifacts, distinct from the build (CI) pipeline.
- Gates and approvals are configured on stages and can be pre- or post-deployment.
- Continuous deployment = a release triggered automatically on new artifact; with approvals required, it becomes semi-automated.
Related
cd · deployment-gate · rollback-strategy · release-strategy · build-artifact
📘 Source: Microsoft Learn — Release Definition