Quick Notes255 words
YAML pipelines — quick notes
YAML pipelines — quick notes
| Fact | Detail |
|---|---|
| Hierarchy | pipeline → stages → jobs → steps |
| Job default order | parallel; dependsOn creates the graph/order |
| Stage default order | sequential |
| Agent-pool job | Steps run sequentially on one assigned agent; server jobs are agentless |
| Classic release pipelines | Job dependencies not supported; jobs run in sequence |
Custom condition | replaces implicit succeeded() |
always() | True after cancellation, but cannot run inside a skipped parent |
| Deployment strategies | runOnce, rolling, canary |
rolling | VM-only; phases iterate per maxParallel batch, steps execute per VM target |
| Hook order | preDeploy → deploy → routeTraffic → postRouteTraffic → on: |
template: | Composes by inserting content |
extends: | Constrains consumer structure |
| Enforcement | Required template check on a protected resource enforces extends: adoption |
| Template parameter types | string, number, boolean, object, step/stepList, job/jobList, deployment/deploymentList, stage/stageList; no stringList in templates |
Traps
- “Jobs run top to bottom” is false in YAML but true in classic release.
always()survives cancellation only within a parent that is scheduled.- Rolling has three batches for six VMs at two per batch, but a per-VM step runs six times.
- Bare
extends:constrains a consumer that uses it; the protected-resource check enforces use.
Primary sources
- https://learn.microsoft.com/en-us/azure/devops/pipelines/process/phases
- https://learn.microsoft.com/en-us/azure/devops/pipelines/process/stages
- https://learn.microsoft.com/en-us/azure/devops/pipelines/process/conditions
- https://learn.microsoft.com/en-us/azure/devops/pipelines/process/deployment-jobs
- https://learn.microsoft.com/en-us/azure/devops/pipelines/process/templates
- https://learn.microsoft.com/en-us/azure/devops/pipelines/process/approvals
- https://learn.microsoft.com/en-us/azure/devops/pipelines/security/templates
- https://learn.microsoft.com/en-us/azure/devops/pipelines/process/runtime-parameters