Part 2: CI/CD Pipelines
DOCUMENT CATEGORY: Part Overview SCOPE: CI/CD pipeline platform selection and configuration PURPOSE: Help teams choose and implement a supported pipeline platform for Azure Local delivery MASTER REFERENCE: GitLab CI/CD Documentation
Status: Active
Part Purpose
This part documents the supported delivery pipeline platforms for Azure Local automation. Use it after the CI/CD infrastructure is in place and once your team is ready to codify validation, planning, deployment, and post-deployment operations in a repeatable workflow.
Platform Comparison
| Platform | Best For | Azure Auth Model | Approval Model |
|---|---|---|---|
| GitLab CI/CD | Teams standardizing on GitLab and modular stage-based delivery | Service principal variables | Manual job approvals and protected environments |
| GitHub Actions | Teams standardizing on GitHub repositories and environment rules | OIDC or service principal secrets | Environment protection rules and workflow approvals |
| Azure DevOps Pipelines | Teams already operating in Azure DevOps | ARM service connections | Environment approvals and checks |
Common Pipeline Flow
validate -> plan -> deploy-foundation -> configure-onprem -> deploy-cluster -> configure-operations -> validate-deployment
How to Use This Part
- Start with the platform comparison on this page
- Choose one pipeline platform that matches your repository and approval model
- Use the platform-specific page to configure secrets, runners or agents, and workflow structure
- Keep the CI/CD Infrastructure section as the source of truth for runner and environment setup
Platform Pages
| Platform | Description |
|---|---|
| GitLab CI/CD | Primary reference pipeline with modular stages and reusable templates |
| GitHub Actions | GitHub-native workflow equivalent with environment protection |
| Azure DevOps Pipelines | Azure DevOps implementation using service connections and agent pools |
Next Steps
After choosing a platform, continue to Part 3: Automation Guides for the Terraform, Ansible, Bicep, and PowerShell assets that your pipeline will call.