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.

Lege Pipelines-pagina met Create Pipeline knop

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.

Pipeline wizard stap 1: bronkeuze

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

Pipeline wizard stap 2: repository selecteren

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.

Pipeline wizard stap 4: YAML review met eigen code

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:

SleutelwoordBetekenis
triggerBij een push naar main start de pipeline automatisch
pool.vmImageMicrosoft-hosted agent — windows-latest is de meest recente Windows Server image
stepsDe lijst van uit te voeren stappen
task: PowerShell@2Een 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.

Run samenvatting: Stage completed in 15s

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, commit aaedef9f — 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

Job-log met alle stappen en tijden

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:

PowerShell task output met hostname en variabelen

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.