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.

cd · deployment-gate · rollback-strategy · release-strategy · build-artifact

📘 Source: Microsoft Learn — Release Definition