Selecting a deployment automation solution
Select a deployment automation solution
GitHub Actions and Azure Pipelines both build and deploy. The exam asks which one fits a stated situation, so learn the discriminators rather than a feature list.
Where each is strongest
| Consideration | Azure Pipelines | GitHub Actions |
|---|---|---|
| Code already in | Azure Repos, or GitHub | GitHub |
| Work tracking | Azure Boards integration | GitHub Issues / Projects |
| Approvals and gates | Environments with checks owned by resource owners | Environments with protection rules |
| Reuse unit | YAML templates (extends can constrain) | Reusable workflows and composite actions |
| Marketplace | Azure DevOps extensions and tasks | Actions marketplace |
| Self-hosted compute | Self-hosted agents, VMSS, Managed DevOps Pools | Self-hosted runners |
| Billing | Parallel jobs (concurrency) | Per-minute for hosted runners |
The honest discriminators
Governance depth. Azure Pipelines' checks attach to the resource and are configured by the resource owner, so a platform team can force a Required template on every pipeline that touches production. That is a stronger organisational control than asking teams to adopt a workflow.
Existing estate. A shop already running Azure Boards, Artifacts and Repos gets more from Pipelines. A team living entirely in GitHub gets less friction from Actions — and note the two are not exclusive: Azure Pipelines builds GitHub repositories natively.
Hybrid and on-premises. Azure DevOps Server exists for organisations that cannot use a hosted service. There is no on-premises GitHub Actions equivalent short of GitHub Enterprise Server with self-hosted runners.
A common exam framing is "we already use GitHub for source but need enterprise deployment approvals and on-premises deployment targets." That points to Azure Pipelines building the GitHub repo — not to a migration.
Primary sources