In deel 1 is de azure-pipelines.yml via een Pull Request in de main-branch terechtgekomen. In dit tweede deel koppelen we die YAML aan een pipeline en laten we hem draaien op een Microsoft-hosted Windows agent in de cloud.
De Pipelines sectie
De Pipelines-sectie in de sidebar bevat meer onderdelen dan Repos:
- Pipelines — de CI-pipelines (build)
- Environments — deployment targets zoals acceptatie en productie
- Releases — de klassieke visuele release-pipelines (ouder systeem, wordt vervangen door multi-stage YAML)
- Library — variabelengroepen en secure files
- Task groups — herbruikbare taakblokken die je over meerdere pipelines kunt delen
- Deployment groups — self-hosted agents gegroepeerd per omgeving
Bij een nieuw project is de Pipelines-lijst leeg.

Pipeline aanmaken: de wizard
Via Create Pipeline start de vierstapswizard: Connect → Select → Configure → Review.
Stap 1 — Connect: waar staat de code? ADO ondersteunt Azure Repos Git, GitHub, Bitbucket Cloud, andere Git-servers en Subversion. Onderaan staat ook de link naar de classic editor — de oude visuele pipeline-builder zonder YAML. Die wordt niet meer actief ontwikkeld.

Stap 2 — Select: welke repository? Omdat er maar één repo in het project staat, is dev-ops-lab01 de enige keuze.

Stap 3 — Configure wordt automatisch overgeslagen. ADO detecteert dat er al een azure-pipelines.yml in de root van de repo staat en gaat direct door naar Review.
Stap 4 — Review: de bestaande YAML wordt getoond. ADO leest het bestand rechtstreeks uit de repo — er wordt niets gekopieerd of apart opgeslagen. De pipeline is de YAML in de repo.

De YAML die in deel 1 is aangemaakt:
1trigger:
2 - main
3
4pool:
5 vmImage: 'windows-latest'
6
7steps:
8 - task: PowerShell@2
9 displayName: 'Systeeminformatie'
10 inputs:
11 targetType: 'inline'
12 script: |
13 Write-Host "Hostname: $env:COMPUTERNAME"
14 Write-Host "OS: $env:OS"
15 Write-Host "Build nummer: $(Build.BuildNumber)"
16 Write-Host "Branch: $(Build.SourceBranchName)"
De sleutelonderdelen:
| Sleutelwoord | Betekenis |
|---|---|
trigger | Bij een push naar main start de pipeline automatisch |
pool.vmImage | Microsoft-hosted agent — windows-latest is de meest recente Windows Server image |
steps | De lijst van uit te voeren stappen |
task: PowerShell@2 | Een ingebouwde ADO-task, versie 2 |
$(Build.BuildNumber) | Ingebouwde ADO-variabele, automatisch gevuld |
$(Build.SourceBranchName) | Ingebouwde ADO-variabele met de branchnaam |
Via Run wordt de pipeline voor het eerst gestart.
De eerste run
Na het starten toont ADO de run-samenvatting. De pipeline heeft succesvol gedraaid.

Wat zichtbaar is:
- #20260414.1 — build nummer, opgebouwd uit datum en volgnummer
- Merged PR 1: Added azure-pipelines.yml — de commit waarop dit draaide
- branch
main, commitaaedef9f— de exacte merge-commit van de PR uit deel 1 - Stage: 1 job completed in 15s — de volledige uitvoeringstijd inclusief agent-provisioning
De job-log
Via Job opent de gedetailleerde logweergave. De linkerzijbalk toont alle stappen die ADO automatisch uitvoert rondom de eigen YAML-stappen:
- Initialize job — agent wordt geconfigureerd
- Checkout dev-ops-lab01@main — de repo wordt gekloond op de agent
- Systeeminformatie — de eigen PowerShell task
- Post-job: Checkout — opruimen na de checkout
- Finalize Job — agent wordt afgemeld
- Report build status — status wordt teruggerapporteerd aan de repo

De hoofdlog toont de agent-metadata: Pool: Azure Pipelines, Image: windows-latest, Agent: Azure Pipelines 1. Dit is een wegwerp-VM in een Microsoft datacenter die on-demand is opgestart voor deze job en na afloop weer is vernietigd.
PowerShell output
De output van de Systeeminformatie-stap:

1Hostname: runnervm67wqg
2OS: Windows_NT
3Build nummer: 20260414.1
4Branch: main
De agent heeft de naam runnervm67wqg — een willekeurige Microsoft-hosted Windows VM. De ADO-variabelen $(Build.BuildNumber) en $(Build.SourceBranchName) zijn automatisch door het platform ingevuld met de correcte waarden.
Wat is bereikt
Na dit tweede deel is duidelijk hoe een YAML pipeline werkt in Azure DevOps:
- De pipeline wizard koppelt een YAML-bestand in de repo aan een pipeline-definitie
- ADO detecteert automatisch een bestaande
azure-pipelines.yml - Een Microsoft-hosted agent wordt on-demand opgestart, voert de job uit en wordt daarna weggegooid
- Ingebouwde ADO-variabelen zijn beschikbaar in elke stap zonder configuratie
- De job-log toont alle stappen inclusief de automatische stappen van ADO zelf
In deel 3 breiden we de pipeline uit met stages en jobs — de bouwblokken voor echte CI/CD-pipelines met meerdere omgevingen.