Deployment Pipeline
Introduction
The Deployment Pipeline is the automated, repeatable process that takes code from commit to production (or artifact registry).
Every change flows through the pipeline, which validates quality, builds artifacts, and delivers software to its destination.

Definition
Deployment Pipeline: The automated process that validates and delivers changes through the CD Model stages.
Key Characteristics:
- Triggered by changes to trunk
- Implements the 12 stages of the CD Model
- Provides automated quality gates
- Generates immutable artifacts
- Collects evidence and metrics
One Pipeline Per Deployable Module
Each deployable module has its own pipeline instance:
- Polyrepo: One pipeline per repository
- Monorepo: Multiple pipelines in one repository (one per deployable module)
Pipelines are triggered when changes affect their deployable module. In a monorepo, change detection determines which pipelines run.
Trunk Commit
│
├─► Module A changed? ─► Run Pipeline A
├─► Module B changed? ─► Run Pipeline B
└─► Module C changed? ─► Run Pipeline C
Pipeline Triggers
Pipelines can be triggered by:
| Trigger | When | Purpose |
|---|---|---|
| Commit | Code merged to trunk | Main validation and artifact creation |
| Pull Request | PR opened/updated | Pre-merge validation |
| Schedule | Cron (daily, weekly) | Dependency updates, security scans |
| Manual | User-initiated | Releases, hotfixes |
| Tag | Git tag created | Release candidate creation |
The 12 Stages
The pipeline implements the CD Model's 12 stages:
Development Stages (1-7):
- Authoring - Developer creates changes on topic branch
- Pre-commit - Local validation before push
- Merge Request - PR validation and review
- Commit - Build artifacts on trunk merge
- Acceptance Testing - Validate in PLTE
- Extended Testing - Performance, security, compliance
- Exploration - Stakeholder validation in Demo
Release Stages (8-12):
- Start Release - Create release candidate
- Release Approval - Manual or automated gate
- Production Deployment - Deploy to live
- Live - Monitor in production
- Release Toggling - Feature flag control
See CD Model Stages for detailed stage descriptions.
Evidence Collection
The pipeline collects evidence at each stage for traceability and compliance:
| Stage | Evidence Collected |
|---|---|
| Pre-commit | Lint results, unit test results |
| Commit | Build logs, artifact checksums, SBOM |
| Acceptance Testing | Test reports, coverage metrics |
| Extended Testing | Performance benchmarks, security scan results |
| Production Deployment | Deployment logs, health check results |
| Live | Monitoring dashboards, incident records |
Evidence enables:
- Audit trails for compliance
- Debugging production issues
- Release quality metrics
- Continuous improvement
Pipeline Variants
The pipeline structure varies based on the CD Model variant:
Release Assurance (RA):
- Manual approval gate at Stage 9
- Release branches for stabilization
- Explicit release candidate management
Continuous Deployment (CDe):
- Automated approval based on quality gates
- Direct trunk-to-production flow
- Feature flags for release control
See CD Variants for detailed comparison.
Pipeline Implementation
Pipelines are typically implemented using:
- GitHub Actions -
.github/workflows/ - Azure DevOps -
azure-pipelines.yml - GitLab CI -
.gitlab-ci.yml - Jenkins -
Jenkinsfile
The pipeline definition is stored in the trunk alongside the code it builds, following "Everything as Code" principles.
Next Steps
- CD Model Stages - Detailed stage descriptions
- CD Variants - RA vs CDe patterns
- Deployable Modules - What pipelines build
- Live - Where pipelines deliver
References
Tutorials | How-to Guides | Explanation | Reference
You are here: Explanation — understanding-oriented discussion that clarifies concepts.