Azure DevOps tips og triks | Automatiser bygg, test og deploy

Forord
Vi vet at du ofte møter stramme tidsfrister, endringer fra interessenter og press om høy kvalitet. I denne guiden deler vi Azure DevOps-tips og triks som hjelper deg å automatisere, sikre og skalere arbeidsflyten. Du vil finne eksterne lenker til offisiell Microsoft-dokumentasjon, praktiske eksempler og klare steg-for-steg-instruksjoner.
"Ved å implementere rådene fra dette innholdet, reduserte vi bygge- og deploy-tiden med over 50 prosent."
– Anonymisert Tech Lead
1. Forbered prosjektet med en ryddig struktur
Organiser koden slik at teamet kan samarbeide effektivt:
Opprett et nytt prosjekt i Azure DevOps og velg Git som kildekontroll.
Plasser hver mikrotjeneste eller komponent i sitt eget repository.
Dokumenter bygg- og kjøreinstruksjoner i README.md.
Se mer om prosjektstruktur i den offisielle dokumentasjonen:
Azure DevOps documentation | Microsoft Learn
2. Opprett og optimaliser pipelines
Pipelines fjerner manuelt arbeid, gir rask feilsøking og høyere kvalitet. Følg disse trinnene:
2.1 Definer trigger og stages
Forklar først hva som skal trigge pipeline:
trigger:
branches:
include:
- main
- release/*
Deretter setter du opp bygg og distribusjon som separate stages:
stages:
- stage: Build
displayName: 'Bygg og test'
jobs:
- job: CompileAndTest
pool:
vmImage: 'ubuntu-latest'
steps:
- task:
DotNetCoreCLI@2 displayName: 'Bygg .NET-prosjekt'
inputs: command: 'build' projects: '**/*.csproj' - task:
SonarQubePrepare@4 displayName: 'Forbered SonarQube-analyse'
inputs: SonarQube: 'SonarQubeServiceConnection'
scannerMode: 'CLI'
- task: DotNetCoreCLI@2
displayName: 'Kjør enhetstester'
inputs:
command: 'test'
projects: '**/*Tests/*.csproj'
- task: SonarQubeAnalyze@4
- task: SonarQubePublish@4
- stage: Deploy
displayName: 'Deploy til produksjon'
dependsOn: Build
jobs:
- deployment: WebAppDeploy
environment: 'production'
pool:
vmImage: 'ubuntu-latest'
strategy:
runOnce:
preDeploy:
steps:
-script: echo "Starter sanity-sjekk før deploy"
deploy:
steps:
- task: AzureWebApp@1
displayName: 'Distribuer til App Service'
inputs:
appName: 'my-webapp'
package: '$(Pipeline.Workspace)/**/*.zip'
routeTraffic:
steps:
- script: echo "Ruter trafikk til nye instanser"
Les mer om YAML-pipeline-schema:
Azure Pipelines – YAML schema | Microsoft Learn

2.2 Avanserte deploy-mønstre og rollback
Blue/Green-release for null nedetid og rask rollback.
Canary-utrulling med matrise for gradvis trafikkøkning:
strategy:
matrix:
CanarySmall: { trafficPercent: 10 }
CanaryLarge: { trafficPercent: 50 }
maxParallel: 2
steps:
- script: echo "Ruter ${{ matrix.trafficPercent }}% av trafikken"
For automatisk rollback, bruk Azure Pipelines' restorePoints eller inkluder et rollback-stage.
3. Automatiserte tester, godkjenninger og hemmeligheter
Å bygge inn kvalitetssikring tidlig reduserer produksjonsfeil:
Kodekvalitet og sikkerhetsskanning
– SonarQube-task i Build-stage (SAST).
– DAST-skanning i egen testjobb.Godkjenninger (approvals)
– Konfigurer manuelle sjekker før produksjonsdeploy via environment approvals.Håndtering av hemmeligheter
– Definer Variable Groups.
– Integrer Azure Key Vault:
variables:
- group: MySecretsGroup
steps:
- task: AzureKeyVault@2
displayName: 'Hent hemmeligheter fra Key Vault'
inputs:
azureSubscription: 'Contoso-Subscription'
keyVaultName: 'Contoso-KV'
secretsFilter: 'DbConnectionString,ApiKey'
Marker variabler som secret for å maskere dem i loggene. Les mer om Key Vault-integrasjon:
Azure Pipelines – Integrate secrets from Azure Key Vault | Microsoft Learn

4. Integrasjon med Azure Boards, Artifacts og IaC
Sømløse arbeidsflyter og infrastruktur som kode:
Azure Boards: Knytt commits og PR-er til work items for full sporbarhet.
Azure Artifacts: Publiser interne pakker med NuGet, npm eller Maven.
Terraform/Bicep som IaC:
- task: TerraformCLI@0 displayName: 'Deploy IaC med Terraform' inputs: command: 'apply' workingDirectory: 'infrastructure/'
Utforsk dokumentasjonen for mer:
Azure Boards | Microsoft Learn
Azure Artifacts | Microsoft Learn
Terraform task for Azure DevOps | Microsoft Learn
Oppfordring til handling
Nå er det din tur:
Sett opp din første pipeline i Azure DevOps i dag – du vil merke forskjellen umiddelbart.
Del erfaringer med oss.
For enda mer innsikt, se offisiell dokumentasjon:
Lykke til med DevOps-reisen! Vi står klare for rådgivning og workshops.