Azure DevOps & CI/CD
What it is & where it is used
DevOps is a culture and set of practices that unite development and operations to deliver software faster, more reliably and continuously — automation (CI/CD, infrastructure as code), collaboration, monitoring and feedback.
Azure DevOps (cloud: Azure DevOps Services; on-prem: Azure DevOps Server) is Microsoft's suite of DevOps tools:
| Service | Purpose |
|---|---|
| Azure Boards | Work tracking: Epics, Features, User Stories/PBIs, Tasks, Bugs; Kanban boards, sprints, backlogs, queries, dashboards |
| Azure Repos | Git repositories (and legacy TFVC), pull requests, branch policies |
| Azure Pipelines | CI/CD for any language/platform/cloud (YAML or classic) |
| Azure Test Plans | Manual and exploratory testing, test cases and suites |
| Azure Artifacts | Package feeds: NuGet, npm, Maven, Python, Universal packages |
Key DevOps terms: CI (continuous integration — every commit is built and tested), CD (continuous delivery — always releasable, deploy with approval; continuous deployment — automatically to production), IaC (infrastructure as code — Bicep, ARM, Terraform), shift-left (test and secure early), DORA metrics (deployment frequency, lead time for changes, change failure rate, time to restore service).
Versions & history
| Year | Milestone |
|---|---|
| 2005 | Team Foundation Server (TFS) 2005 — on-prem ALM with TFVC |
| 2012 | Team Foundation Service (cloud preview) |
| 2013 | Git support in TFS; Visual Studio Online |
| 2015 | Renamed Visual Studio Team Services (VSTS); new build system |
| 2017 | YAML builds preview |
| 2018 | VSTS renamed Azure DevOps Services; TFS → Azure DevOps Server (2019); multi-stage YAML pipelines introduced (GA 2020) |
| 2019–2022 | Azure DevOps Server 2019, 2020, 2022; environments, approvals and checks; deprecated classic release features in new orgs gradually |
| 2023–2025 | Workload identity federation for service connections (GA 2024), GitHub Advanced Security for Azure DevOps, Managed DevOps Pools (2024), Azure DevOps Server (2025, version-less "modern lifecycle" release) |
Microsoft also owns GitHub; GitHub Actions is the other major CI/CD option — many organisations use GitHub repos with Azure Boards/Pipelines, or migrate to GitHub entirely.
Lifecycle
DevOps lifecycle (infinite loop): Plan → Code → Build → Test → Release → Deploy → Operate → Monitor → (feedback) Plan...
Work item lifecycle (Agile process): User Story: New → Active → Resolved → Closed (Removed). Bug: New → Active → Resolved → Closed. Scrum process: PBI: New → Approved → Committed → Done.
Pull request lifecycle: create branch → commits → open PR → branch policies run (build validation pipeline, minimum reviewers, linked work items, comment resolution, status checks) → review/approve → complete (merge/squash/rebase) → branch deleted → CI on main.
YAML pipeline run lifecycle:
- Trigger — CI (push to branch/path), PR trigger, schedule (cron), pipeline completion, manual.
- Template expansion — compile-time expressions
${{ }}and templates are expanded. - Stages run (sequentially by default, or by
dependsOn). - Each job is queued to an agent pool; the agent downloads the repo (
checkout), runs steps (tasks/scripts), with runtime expressions$[ ]and macro variables$( ). - Artifacts published between stages.
- Deployment jobs target environments; approvals and checks (manual approval, business hours, Azure Monitor alerts, required template) gate them.
- Results, logs, tests and coverage published; notifications sent; retention policy applies.
Tools used to develop
| Tool | Use |
|---|---|
| Azure DevOps portal (dev.azure.com/{org}) | Everything |
az devops / az pipelines / az repos / az boards CLI | Scripting |
Microsoft-hosted agents (ubuntu-latest, windows-latest, macos-latest) | Zero-maintenance build machines |
| Self-hosted agents / Managed DevOps Pools / VM scale set agents | Private network access, custom tools |
| Visual Studio / VS Code / Git | Repos, PRs, work item linking (AB#123) |
| Bicep / ARM / Terraform / Pulumi | Infrastructure as code |
| SonarQube/SonarCloud, Microsoft Defender for DevOps, GitHub Advanced Security for Azure DevOps | Quality and security scanning |
| Azure Key Vault (variable groups linked) | Secrets |
| Azure Monitor / Application Insights | Monitor deployments |
| GitHub Actions | Alternative CI/CD |