Migrating classic pipelines to YAML — quick notes
Classic → YAML migration — quick notes
| Classic release | YAML | |
|---|---|---|
| Same-stage jobs | Sequential | Eligible for parallel execution unless dependsOn; capacity can queue them |
| Job dependencies | Not supported | dependsOn |
| Task groups | Supported | Not supported → templates |
| Lives in | The UI | The repository |
Migration order
- Inventory the pipeline.
- Export the full Classic build definition, or individual Classic release tasks.
- Rebuild task groups as templates; restore dependencies, variables, schedules, permissions, and controls.
- Validate YAML in nonproduction/dry run while Classic serves production.
- Cut over deliberately, then retire Classic.
- Variables can live in YAML or pipeline settings; use variable groups when values are shared.
- Protect secrets or prefer secretless authentication; verify resource authorization.
- Review cron schedules because YAML uses UTC by default.
Ordering warning: sequential Classic release jobs can become concurrent same-stage YAML jobs.
Sources: https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-400 · https://learn.microsoft.com/en-us/azure/devops/pipelines/release/from-classic-pipelines · https://learn.microsoft.com/en-us/azure/devops/pipelines/get-started/pipelines-get-started · https://learn.microsoft.com/en-us/azure/devops/pipelines/process/phases · https://learn.microsoft.com/en-us/azure/devops/pipelines/release/task-groups · https://learn.microsoft.com/en-us/azure/devops/pipelines/process/variables · https://learn.microsoft.com/en-us/azure/devops/pipelines/licensing/concurrent-jobs · https://learn.microsoft.com/en-us/azure/devops/pipelines/security/overview