Cloud & IT Cert Prep · Lektion

Oversigt over Azure DevOps Services

Få en introduktion til de fem Azure DevOps-tjenester, opret en organisation og et projekt, og forbind jeres kodelager for at begynde at spore work items og commits samlet.

Lektion 1 af 413 trin

Oversigt over Azure DevOps Services er en gratis Cloud & IT Cert Prep-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Cloud & IT Cert Prep, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Cloud & IT Cert Prep-kurset indeholder 4 lektioner i alt.

Hvad er Azure DevOps

Azure DevOps er en cloudbaseret samling udviklerværktøjer fra Microsoft, der dækker hele livscyklussen for softwarelevering. Den kombinerer projektstyring, kildekontrol, automatisering af build og release, teststyring og lagring af artefakter på én integreret platform. Teams, der bruger Azure DevOps, kan planlægge sprint, indsende kode, køre automatiserede builds, implementere i produktion og følge kvalitetsmålinger — alt sammen fra én tjeneste med dybe integrationer til andre Azure-tjenester.

De fem Azure DevOps-tjenester

Azure DevOps består af fem tjenester: Azure Boards (Agile-sporing af arbejdselementer — epics, stories, opgaver og fejl), Azure Repos (ubegrænsede Git-lagre eller det ældre TFVC), Azure Pipelines (CI/CD-automatisering til alle sprog, platforme og clouds), Azure Test Plans (manuel og undersøgende test, testcases og kvalitetsmålinger) og Azure Artifacts (universelt pakkefeed til NuGet, npm, Maven, Python og containerafbildninger).

Organisationer og projekter

Hierarkiet i Azure DevOps begynder med en organisation — den øverste container, der er knyttet til din Azure AD-tenant og typisk er opkaldt efter din virksomhed. I en organisation opretter du projekter, som hver repræsenterer et softwareprodukt eller et team. Hvert projekt får sine egne Boards, Repos, Pipelines, Test Plans og Artifacts. Adgangskontrol, fakturering og indstillinger konfigureres på organisationsniveau, men kan tilsidesættes for hvert projekt.

# Create an Azure DevOps project via CLI
# First install the Azure DevOps extension
az extension add --name azure-devops

# Configure defaults
az devops configure --defaults organization=https://dev.azure.com/myorg

# Create a new project
az devops project create \
  --name MyProject \
  --description 'E-commerce platform' \
  --visibility private \
  --process Agile

Azure Boards: Agile-planlægning

Azure Boards understøtter tre proceskabeloner: Basic (enkle Issues og Tasks), Agile (Epics, Features, User Stories, Tasks og Bugs) og Scrum (Epics, Features, Product Backlog Items, Tasks og Bugs). Arbejdselementer bevæger sig gennem konfigurerbare tilstande. Kanban-tavlen visualiserer igangværende arbejde, sprint-backlogs planlægger kapacitet, og backlogs prioriterer alt arbejde, der endnu ikke er startet. Knyt arbejdselementer til commits, pull requests og testcases for fuld sporbarhed.

# Create a work item (User Story) via CLI
az boards work-item create \
  --title 'Add payment processing' \
  --type 'User Story' \
  --description 'As a customer I want to pay by credit card' \
  --assigned-to developer@contoso.com \
  --project MyProject

# List open work items
az boards work-item list \
  --project MyProject \
  --query "[?fields.\"System.State\"=='Active']"

Azure Repos: Kildekontrol

Azure Repos tilbyder ubegrænsede private Git-lagre med grenpolitikker, arbejdsgange for pull requests og værktøjer til kodegennemgang. Grenpolitikker håndhæver kvalitetskontroller på beskyttede grene — de kan kræve et minimum af bedømmere, godkendt buildvalidering, tilknyttede arbejdselementer og løste kommentarer, før en sammenfletning tillades. Hvert lager integreres direkte med Azure Pipelines, så builds og implementeringer automatisk udløses ved push til en gren eller ved en pull request.

# Clone an Azure Repos Git repository
git clone https://myorg@dev.azure.com/myorg/MyProject/_git/MyRepo

# Set branch policies via CLI
az repos policy required-reviewer create \
  --branch main \
  --branch-match-type exact \
  --project MyProject \
  --repository-id <repo-id> \
  --blocking true \
  --enabled true \
  --minimum-approver-count 2 \
  --allow-downvotes false

Azure Pipelines: CI/CD-automatisering

Azure Pipelines er en CI/CD-tjeneste, der bygger, tester og implementerer applikationer skrevet i alle sprog på alle platforme — Azure, AWS, GCP og lokalt. Pipelines defineres i YAML-filer, der gemmes sammen med koden i lageret. Vigtige begreber omfatter faser (logiske faser som Build, Test og Deploy), jobs (enheder til parallel udførelse) og trin (individuelle opgaver). Azure Pipelines tilbyder 1.800 gratis buildminutter om måneden til open source-projekter.

# azure-pipelines.yml (minimal CI pipeline)
trigger:
  branches:
    include:
    - main

pool:
  vmImage: ubuntu-latest

stages:
- stage: Build
  jobs:
  - job: BuildJob
    steps:
    - task: NodeTool@0
      inputs:
        versionSpec: '18.x'
    - script: npm install && npm run build
      displayName: 'Install and Build'
    - script: npm test
      displayName: 'Run unit tests'

Azure Artifacts: Pakkestyring

Azure Artifacts er vært for versionsstyrede pakkefeeds til NuGet (.NET), npm (Node.js), Maven (Java), pip (Python) og Universal Packages (vilkårlige binære filer). Del interne biblioteker mellem projekter eller teams uden at udgive dem i offentlige registre. Upstream-kilder fungerer som proxy for offentlige registre (npmjs.com, nuget.org) gennem dit feed, så du får ét slutpunkt til alle pakker samt mulighed for at kontrollere og cache afhængigheder.

# Publish an npm package to Azure Artifacts
npm install -g vsts-npm-auth
vsts-npm-auth -config .npmrc

# .npmrc file:
# registry=https://pkgs.dev.azure.com/myorg/MyProject/_packaging/MyFeed/npm/registry/

# Publish
npm publish --registry https://pkgs.dev.azure.com/myorg/MyProject/_packaging/MyFeed/npm/registry/

Pipeline-agenter: Microsoft-hostede eller selvhostede

Pipelines kører på agenter — VM'er eller containere, der udfører pipelinejobs. Microsoft-hostede agenter er fuldt administrerede, forudkonfigurerede VM'er (Ubuntu, Windows og macOS), som Microsoft leverer — du behøver ikke at konfigurere noget. Selvhostede agenter kører på din egen infrastruktur (lokalt eller på Azure-VM'er), så du får kontrol over miljøet, forudinstallerede værktøjer og adgang til private netværk. Brug selvhostede agenter, når builds kræver VNet-adgang, specialiseret hardware eller hurtigere opstart, end cloud-VM'er kan tilbyde.

# Register a self-hosted agent on a Linux VM
# 1. Download the agent package
curl -O https://vstsagentpackage.azureedge.net/agent/3.x/vsts-agent-linux-x64-3.x.x.tar.gz
mkdir myagent && tar xzf vsts-agent-linux-x64-3.x.x.tar.gz -C myagent && cd myagent

# 2. Configure the agent
./config.sh --url https://dev.azure.com/myorg --auth pat --token <PAT>

# 3. Run as a service
sudo ./svc.sh install && sudo ./svc.sh start

Miljøer og godkendelser

Miljøer i Azure Pipelines repræsenterer udrulningsmål (udvikling, staging, produktion) og holder styr på udrulningshistorikken. Du kan knytte godkendelses- og kontrolporte til miljøer — en udrulning til produktion kræver manuel godkendelse fra en releaseansvarlig. Andre kontroller omfatter porte for forretningsåbningstider (udrul kun mellem kl. 09.00 og 17.00), ventetimere og kontrol af Azure Monitor-advarsler (udrul ikke, hvis der er aktive kritiske advarsler). Det giver teams styring over produktionudrulninger med høj risiko.

# YAML: deployment job targeting an environment with approval
- stage: DeployProd
  jobs:
  - deployment: DeployToProduction
    environment:
      name: Production       # Requires manual approval in Azure DevOps portal
      resourceType: VirtualMachine
    strategy:
      runOnce:
        deploy:
          steps:
          - task: AzureWebApp@1
            inputs:
              appName: myapp-prod
              package: '$(Pipeline.Workspace)/drop/app.zip'

Tjenesteforbindelser

Tjenesteforbindelser gemmer godkendte forbindelser til eksterne tjenester (Azure-abonnementer, GitHub, Docker Hub, SonarQube og Kubernetes-klynger), så pipelines kan bruge dem uden at indlejre legitimationsoplysninger i YAML. Tjenesteforbindelsen Azure Resource Manager bruger en service principal eller en administreret identitet til at udrulle Azure-ressourcer. Alle legitimationsoplysninger krypteres og begrænses til projektet eller pipelinen, så eksponering af legitimationsoplysninger i pipeline-logge forhindres.

# Create an Azure Resource Manager service connection via CLI
az devops service-endpoint azurerm create \
  --azure-rm-service-principal-id '<AppId>' \
  --azure-rm-subscription-id '<SubId>' \
  --azure-rm-subscription-name 'MySubscription' \
  --azure-rm-tenant-id '<TenantId>' \
  --name 'AzureProductionSC' \
  --project MyProject

# Use in pipeline YAML
# - task: AzureCLI@2
#   inputs:
#     azureSubscription: 'AzureProductionSC'
#     scriptType: bash
#     scriptLocation: inlineScript

Azure DevOps sammenlignet med GitHub

Microsoft ejer både Azure DevOps og GitHub, og begge understøtter CI/CD. Azure DevOps foretrækkes i virksomheder, der er dybt integreret med Microsoft-værktøjer og har brug for Azure Boards, Test Plans eller Artifacts. GitHub foretrækkes til open source-projekter, udviklercentrerede arbejdsgange, og når teams allerede bruger GitHub-repositorier. GitHub Actions er GitHubs CI/CD-platform. Azure Pipelines integrerer med både Azure Repos og GitHub — du kan bruge Azure Boards og Artifacts sammen med GitHub-repositorier.

Hurtigt tjek

Test din forståelse af begreberne fra Microsoft Azure Fundamentals (AZ-900) i denne lektion.

Opsummering af lektionen

I denne lektion har du lært, at Azure DevOps leverer fem integrerede tjenester, der dækker planlægning (Boards), kildekontrol (Repos), CI/CD (Pipelines), test (Test Plans) og pakkehåndtering (Artifacts), at miljøer med godkendelser fungerer som porte for udrulninger med høj risiko, og at tjenesteforbindelser gemmer legitimationsoplysninger til eksterne tjenester sikkert, så de kan bruges af pipelines. Som det næste ser vi på, hvordan du opbygger en CI-pipeline med Azure Pipelines.

Gratis at komme i gang

Lær Cloud & IT Cert Prep med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
150
Lektioner
600

Ofte stillede spørgsmål

Er lektionen “Oversigt over Azure DevOps Services” gratis?

Ja — hele teksten til “Oversigt over Azure DevOps Services” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Cloud & IT Cert Prep-kurset, skal du opgradere til CoddyKit PRO. Cloud & IT Cert Prep-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Oversigt over Azure DevOps Services”?

Få en introduktion til de fem Azure DevOps-tjenester, opret en organisation og et projekt, og forbind jeres kodelager for at begynde at spore work items og commits samlet. Du øver dig i Cloud & IT Cert Prep med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Cloud & IT Cert Prep?

Der kræves ingen tidligere erfaring. Cloud & IT Cert Prep på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Oversigt over Azure DevOps Services”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Cloud & IT Cert Prep-lektion?

Ja. Alle Cloud & IT Cert Prep-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Oversigt over Azure DevOps Services
  2. Opbygning af en CI-pipeline med Azure Pipelines
  3. Continuous deployment til Azure
  4. GitHub Actions i Azure
← Tilbage til Cloud & IT Cert Prep