Hoppa till innehåll
Moln & InfraAzure DevOpsCI/CDAzure12 min läsning

Azure DevOps: Komplett guide för CI/CD och projektledning

Azure DevOps är Microsofts plattform för hela utvecklingslivscykeln – från repos till pipelines till boards.

2 80020
Azure DevOps: Komplett guide för CI/CD och projektledning
Azure DevOps täcker hela utvecklingscykeln – från kod till moln.Photo: Unsplash

Azure DevOps är Microsofts allt-i-ett-plattform för utvecklingsteam. Denna guide täcker Azure Repos, Pipelines (YAML och classic), Boards, Artifacts, Test Plans, extensions, migration från GitHub/GitLab och bästa praxis för svenska företag.

Azure DevOps är Microsofts plattform för utvecklingsteam som täcker hela livscykeln – från versionhantering och projektledning till CI/CD och pakethantering. Plattformen lanserades som Visual Studio Team Services (VSTS) 2018 och har vuxit till en av de mest använda DevOps-plattformarna bland företag som redan använder Microsoft-ekosystemet (Azure, Microsoft 365, .NET).

Den här guiden ger dig en komplett genomgång av Azure DevOps – från grundläggande begrepp till avancerade pipelines, integration med andra verktyg och migration från GitHub, GitLab och Jenkins. Jag har arbetat med Azure DevOps i flera svenska organisationer och delar här både framgångsfaktorer och vanliga fallgropar.

Azure DevOps Overview – tjänster och prismodell

Azure DevOps består av fem huvudtjänster: Azure Repos (Git-repositories), Azure Pipelines (CI/CD), Azure Boards (projektledning), Azure Artifacts (pakethantering) och Azure Test Plans (testhantering). Du kan använda tjänsterna var för sig eller tillsammans – många team använder Azure Pipelines med GitHub eller GitLab och Azure Boards för projektledning.

Prismodellen är generös för mindre team: upp till 5 användare är gratis med Basic-planen (alla funktioner utom Test Plans). Betalda planer: Basic (6–100 användare: 6 USD/månad/användare), Basic + Test Plans (52 USD/månad/användare), och Microsoft-hosted pipelines kostar per parallellt jobb (40 USD/månad för 1 parallellt jobb, 10 gratis per organisation). För de flesta svenska små- och medelstora företag är Basic-planen mer än tillräcklig.

Azure DevOps finns som molntjänst (SaaS) eller on-prem (Azure DevOps Server). Molnversionen rekommenderas starkt – den får kontinuerliga uppdateringar, kräver ingen serveradministration och integreras sömlöst med Azure-tjänster. On-prem versionen är för organisationer med strikta compliance-krav som kräver att data inte lämnar den egna infrastrukturen.

Azure Repos – Git-repositories med enterprise-funktioner

Azure Repos erbjuder obegränsade privata Git-repositories med enterprise-funktioner som branch policies (kräv pull request reviews, status checks, and linked work items), push protection mot secrets, och repository-level permissions. Du kan klona och pusha med SSH eller HTTPS precis som med GitHub eller GitLab.

Branch policies är Azure Repos starkaste kort. Du kan kräva: minsta antal godkännanden (1–10), en krav på en specifik godkännare från en säkerhetsgrupp, och att alla kommentarer i PR:n är lösta. Kombinera med status policies från Azure Pipelines – till exempel att bygget måste vara grönt och kodtäckningen minst 80% innan PR kan mergas.

Azure Repos har också inbyggd pull request-automation: auto-approve efter godkänd CI, auto-merge när alla policies är uppfyllda, och PR-templates. Använd en kombination av feature branches (för varje feature/ändring) och trunk-based development (main som releasebranch) – en standard som fungerar för de flesta team.

Azure Pipelines – CI/CD med YAML och classic

Azure Pipelines är hjärtat i Azure DevOps – en CI/CD-plattform som stöder alla större språk och plattformar. Du kan definiera pipelines på två sätt: YAML-pipelines (modernast, rekommenderas) eller classic pipelines (UI-baserad, äldre men fortfarande användbar). YAML-pipelines är kod som versionshanteras tillsammans med din applikation – samma fil, samma gren, samma pipeline.

En grundläggande YAML-pipeline innehåller: trigger (vilka grenar som startar bygget), pool (vilka byggagenter som används – Microsoft-hosted eller self-hosted), stages (build, test, deploy), jobs (parallella eller sekventiella) och steps (tasks som bygger, testar och publicerar). Exempel: bygg en .NET-app, kör tester, publicera till Azure App Service.

Multi-stage pipelines är standard 2026. En stage för build (kompilering + testning), en för staging-deploy (integrationstestning), en för production-deploy (med approval gate). Använd environment-godkännanden för produktionsdeployment – kräv att en specifik användare eller grupp godkänner deploymenten manuellt. Varje environment kan ha en Kubernetes- eller VM-resurs kopplad till sig.

Multi-stage pipelines – bygg, test, deploy

En multi-stage pipeline i Azure DevOps följer normalt tre steg. Build stage: återställ beroenden, kompilera, kör enhetstester (unit tests), kör statisk kodanalys (SonarQube, Roslyn Analyzers), publicera byggartefakter (build artifacts) och pusha till Azure Artifacts eller container registry.

Test stage: deployera till en testmiljö (Azure App Service slot, Kubernetes namespace, eller VM), kör integrationstester, kör prestandatester (k6, JMeter), och kör säkerhetsskanning (OWASP ZAP, Container-skanning). Använd environment-resurser för att skapa godkännandegates och spåra deploymenthistorik.

Deploy stage: deployera till produktion (med manuellt godkännande eller automatisk deploy efter godkända gates), kör smoke tests (verifiera att applikationen svarar), och övervaka med Application Insights eller annan APM-lösning. Använd deployment slots (Azure App Service) för zero-downtime deployments eller Kubernetes rolling updates.

Variable groups och library

Variable groups i Azure Pipelines låter dig hantera miljövariabler centralt – du skapar en variable group, fyller i nyckel-värde-par (eller refererar till Azure Key Vault-hemligheter) och länkar den till en eller flera pipelines. Detta är särskilt användbart för värden som delas mellan flera pipelines: API-URLer, databasanslutningssträngar, tjänstprinciper-IDn.

Azure Key Vault-integration är kritisk för säker hantering av hemligheter. I stället för att lagra lösenord och API-nycklar i variable groups (där de är synliga för användare med åtkomst), refererar du till Key Vault-hemligheter. Pipelines hämtar hemmeligheterna vid körning – de loggas eller visas aldrig i pipeline-loggen.

Library innehåller också secure files (certifikat, SSH-nycklar, .pfx-filer) som kan refereras i pipelines. Ladda upp filen en gång, och pipelines kan ladda ner den vid körning. Använd detta för att hantera certifikat för kodsignering eller API-autentisering.

Azure Boards – projektledning för utvecklingsteam

Azure Boards är ett flexibelt projektledningsverktyg som stöder flera agila metoder: Scrum (sprints, product backlog), Kanban (board med WIP-gränser), och Basic (enklare work tracking). Du skapar work items (epics, features, user stories, bugs, tasks) som kan länkas till varandra och till pull requests/commits.

Powerful integrations: GitHub-commits och PR:er länkas automatiskt till work items när du använder `AB#123` i commit-meddelanden. Status badges kan visas i GitHub README. Du kan också skapa anpassade dashboards med widgetar för sprint-status, burndown charts och KPI:er.

För team som migrerar från Jira: Azure Boards har ett migreringsverktyg och liknande begrepp (epics -> features -> user stories -> tasks). Azure Boards är generellt enklare än Jira och har bättre integration med Microsoft-ekosystemet (Teams, Outlook, Azure Pipelines). Saknar dock Jiras extensibility och marketplace-ekosystem.

Azure Artifacts och Test Plans

Azure Artifacts är en pakethanteringstjänst som stöder NuGet, npm, Maven, Python (twine/pip), Cargo och Universal Packages. Du skapar feeds (privata eller publika) och publicerar paket. Använd uppströmskällor för att cachelagra paket från offentliga feeds (nuget.org, npmjs.com) – snabbar upp byggen och skyddar mot borttagna paket.

Azure Test Plans är en testhanteringstjänst för manuella och utforskande tester. Du skapar test plans, test suites och test cases som kan köras manuellt av testare eller kopplas till pipeline som för staging-tester. Test Plans är användbart för organisationer med formella testprocesser (regelefterlevnad, ISO 13485, FDA) men är mindre relevant för team som är helt automatiserade.

Kombinationen Artifacts + Pipelines är särskilt kraftfull. Bygg pipeline A publicerar ett NuGet-paket till Azure Artifacts, pipeline B konsumerar paketet i sin build, och pipeline C deployar. Detta skapar en tydlig paketeringskedja med versionshantering och spårbarhet.

Extensions och Marketplace

Azure DevOps Marketplace erbjuder tusentals extensions som lägger till funktionalitet: SonarQube (kodkvalitet), WhiteSource/Mend (säkerhetsskanning), Terraform (infrastructure as code), Docker/Kubernetes (containerhantering), Slack/Teams-notifikationer, och många fler. De flesta extensions är gratis eller har en kostnad per månad.

Populära extensions för svenska företag: SonarQube (analysera C#, TypeScript, Python-kod), Dependency Check (sårbarhetsskanning av dependencies), ARM/Terraform (infrastructure deployment), Ansible (konfigurationshantering), och GitVersion (semantisk versionshantering baserat på Git-grenar).

Du kan också skapa egna extensions med Azure DevOps Extension SDK (TypeScript/JavaScript). Detta är användbart för att bygga anpassade tasks, dashboard widgets eller service hooks som är specifika för din organisations processer. Publicera privat i din organisations marketplace.

Migration från GitHub, GitLab och Jenkins

Migration från GitHub till Azure Repos: använd GitHub Advanced Security for Azure DevOps (GHAS) för att migrera repositories, issues, wikis och pull requests. Verktyget migrerar Git-historik, etiketter och milestones. Du kan också migrera GitHub Actions till Azure Pipelines – men det är ofta enklare att skriva om pipelines manuellt eftersom syntaxen för GitHub Actions och Azure YAML pipelines skiljer sig mycket åt.

Migration från GitLab: GitLab har mer begränsat migreringsstöd. Du kan migrera Git-repositories manuellt (clone + push), och skriva om CI/CD-pipelines i Azure YAML-syntax. GitLab CI är dock väldigt annorlunda från Azure Pipelines. För GitLab Boards finns det inget automatiskt migreringsverktyg – du måste exportera till CSV och importera till Azure Boards.

Migration från Jenkins: Jenkins pipelines måste skrivas om till Azure YAML-syntax. Jenkins har ofta mycket anpassade pipeline-steg, så räkna med en omfattande migreringsinsats. Använd Jenkins till Azure Pipelines-migreringsverktyget (Community-driven) för att få en första översättning. För Jenkins jobb som kör enkla kommandon (build + test + deploy) är migreringen enkel – för komplexa pipelines krävs ofta omarkitekturering.

Bästa praxis för Azure DevOps

  1. Använd YAML-pipelines i stället för classic – versionshanterade pipelines är spårbara och repeterbara.
  2. Använd variable groups och Key Vault-integration för miljövariabler – lagra aldrig hemligheter i pipeline-definitionen.
  3. Använd multi-stage pipelines med environment-godkännanden för produktion.
  4. Använd branch policies med krav på PR-godkännanden och status checks från Pipelines.
  5. Använd Azure Artifacts för pakethantering – snabbar upp byggen och skyddar mot borttagna beroenden.
  6. Använd SonarQube eller Roslyn Analyzers för automatisk kodgranskning i pipelines.
  7. Använd deployment slots (Azure App Service) eller blue/green-deployment för zero-downtime.
  8. Använd Azure Boards-länkning i commits (`AB#123`) för spårbarhet mellan kod och arbetsuppgifter.
  9. Använd self-hosted agents om dina byggen har särskilda krav på programvara eller nätverk.
  10. Övervaka pipeline-hälsa med Azure DevOps Analytics – identifiera långsamma byggen och flakiga tester.

Sammanfattning: Azure DevOps i svenska organisationer

Azure DevOps är en mogen, kraftfull plattform som passar särskilt bra för organisationer som redan använder Microsoft-ekosystemet. Plattformen täcker hela utvecklingslivscykeln och har en generös prismodell för mindre team. Kombinationen Azure Repos + YAML Pipelines + Boards + Artifacts ger en sammanhållen upplevelse som minskar behovet av att integrera flera separata verktyg.

För team som överväger Azure DevOps men är osäkra: börja med en Proof of Concept på ett projekt. Utvärdera YAML-pipelines, Boards och Repos. Testa integrationen med Azure App Service eller AKS. De flesta team uppskattar den djupa integrationen och den låga kostnaden, men saknar ibland community-ekosystemet från GitHub och GitLab.

Vill du ha hjälp med Azure DevOps?

Jag hjälper team att designa och implementera CI/CD-pipelines i Azure DevOps. Läs mer om moln- och infratjänster eller boka ett samtal.

Azure DevOps ger dig en sammanhållen plattform för hela utvecklingscykeln – från boards till repos till pipelines – med djup integration i Microsoft-ekosystemet.

- Simon Axelsson

Vanliga frågor

Vad kostar Azure DevOps per användare?
Upp till 5 användare: gratis (Basic-planen). 6–100 användare: 6 USD/månad/användare. Basic + Test Plans: 52 USD/månad/användare. Microsoft-hosted pipelines: 10 gratis parallella jobb per organisation, sedan 40 USD/månad per extra parallellt jobb. Self-hosted agents är obegränsat gratis.
Ska jag välja YAML-pipelines eller classic pipelines?
YAML-pipelines rekommenderas för alla nya projekt. De är versionshanterade i Git, har bättre redigeringsstöd (VS Code-extension med IntelliSense), och stöder alla moderna funktioner som multi-stage, environment-godkännanden och templates. Classic pipelines är äldre men fortfarande användbara för enkla CI-flöden.
Kan jag använda Azure Pipelines med GitHub?
Ja, Azure Pipelines har utmärkt GitHub-integration. Du kan ansluta dina GitHub-repositories som pipeline-källa, och commits/PR:er triggar pipelines automatiskt. Status badges visas i GitHub PRs. Du kan också länka GitHub-commits till Azure Boards work items via commit-kommentarer.
Hur migrerar jag från Jenkins till Azure DevOps?
Migrera Git-repositories till Azure Repos (clone + push). Skriv om Jenkins-pipelines till YAML-syntax (det finns inget automatiskt verktyg). Migrera Jenkins jobb-konfigurationer som en referens. För Jenkins freestyle-jobb kan du använda Jenkins-to-Azure-migration extension på Marketplace som en startpunkt.
Vad är skillnaden mellan Azure DevOps och GitHub?
GitHub är främst ett Git-repository med CI/CD (Actions) och projektledning (Projects/Issues). Azure DevOps är en bredare plattform med djupare projektledning (Boards), pakethantering (Artifacts), testhantering (Test Plans) och enterprise-funktioner (branch policies, variable groups). Azure DevOps har också on-prem-alternativ (Azure DevOps Server).

Om författaren

Simon Axelsson
Simon AxelssonIT-konsult & teknisk rådgivare

Simon Axelsson är senior IT-konsult och grundare av SIAX Technology AB. Han hjälper nordiska företag med molninfrastruktur, dataplattformar och AI-automation.

Fler artiklar av Simon