Dela via


Hantera virtuella datorresurser i miljöer

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

Den här artikeln beskriver hur du använder virtuella datorresurser (VM) i miljöer för att hantera Azure Pipelines-distributioner på flera datorer. Du kan också installera agenter på dina egna servrar för rullande distributioner.

Virtuella datorresurser kan finnas i miljöer som Utveckling, Test eller Produktion. När du har definierat en miljö kan du lägga till virtuella datorer som mål med distributioner. Miljöns distributionshistorik ger spårbarhet från varje virtuell dator till din pipeline.

Förutsättningar

  • Åtkomst till en källlagringsplats som är ansluten till din pipeline.
  • Åtkomst och behörighet att ladda ned och köra körbara skript på de virtuella datorer som du vill ansluta till miljön.
  • Projektadministratörs- eller byggadministratörsbehörigheter i Azure DevOps-projektet som innehåller miljön. Mer information finns i Pipeline-säkerhetsresurser.
  • Administratörsroll för distributionspoolen eller uppsättningen målservrar som är tillgängliga för organisationen. Mer information finns i distributionspoolen och miljöbehörigheter.

Kommentar

Om du vill konfigurera en distributionsgruppsagent, eller om du ser ett fel när du registrerar en vm-miljöresurs, kontrollerar du att du anger omfånget för din personliga åtkomsttoken (PAT) till Alla tillgängliga organisationer.

Skapa miljön

Använd följande procedur för att lägga till en VM-resurs i en miljö. Du kan använda samma process för att konfigurera fysiska datorer.

Lägga till en VM-resurs

  1. I ditt Azure DevOps-projekt går du till Pipelines-miljöer> och väljer sedan Skapa miljö eller Ny miljö.

  2. På den första skärmen Ny miljö lägger du till ett Namn och en valfri Beskrivning.

  3. Under Resurs väljer du Virtuella datorer och sedan Nästa.

    Skärmbild som visar hur du lägger till en miljö.

Kopiera registreringsskriptet

Agentskripten för VM-resurser liknar skripten för lokalt installerade agenter och använder samma kommandon. Skripten innehåller en Personlig åtkomsttoken för Azure DevOps (PAT) för den inloggade användaren, som upphör att gälla tre timmar efter att skriptet har genererats.

  1. På nästa skärm ny miljö väljer du Linux under Operativsystem.

  2. Kopiera Linux-registreringsskriptet.

    Skärmbild som visar hur du lägger till en virtuell dator.

Skriptet är detsamma för alla virtuella Linux-datorer som har lagts till i miljön. Mer information om hur du installerar agentskriptet finns i Lokalt installerade Linux-agenter.

Kör det kopierade skriptet

  1. Välj Stäng och observera att den nya miljön har skapats. Om du vill kopiera skriptet igen, till exempel om din PAT upphör att gälla, väljer du Lägg till resurs.

    Skärmbild av meddelandet om den nya miljön som skapats.

  2. Kör det kopierade skriptet på varje virtuell måldator som du vill registrera med miljön.

    Kommentar

    Om den virtuella datorn redan har en annan agent som körs på den anger du ett unikt namn som agenten kan registrera med miljön.

När den virtuella datorn har registrerats visas den som en resurs under fliken Resurser i miljön.

Skärmbild av fliken Resurser.

Använda virtuella datorer i pipelines

I YAML-pipelinen kan du rikta in dig på virtuella datorer genom att referera till deras miljö. Som standard är jobbet avsett för alla virtuella datorer som registrerats för miljöns resourceName.

Kommentar

När du försöker utföra en fas igen körs distributionen på alla virtuella datorer, inte bara misslyckade mål.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to VM
  environment: 
   name: VMenv
   resourceName: VMenv
   resourceType: virtualMachine
  strategy:
     runOnce:
        deploy:   
          steps:
            - script: echo "Hello world"

Kommentar

Värden resourceType som virtualMachine är skiftlägeskänsliga. Felaktig hölje resulterar i att inga matchande resurser hittas.

Du kan distribuera till specifika virtuella datorer i miljön genom att ange dem i resourceName. I följande exempel distribueras endast till den virtuella datorresursen VMenv med namnet RESOURCE-PC i miljön.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to VM
  environment: 
    name: VMenv
    resourceType: virtualMachine
    resourceName: RESOURCE-PC # only deploy to the VM resource named RESOURCE-PC
  strategy:
    runOnce:
      deploy:   
          steps:
          - script: echo "Hello world"

Mer information om YAML-pipelinedistributionsjobb finns i YAML-pipelineschemat.

Lägga till och hantera taggar

Taggar är ett sätt att rikta in sig på en specifik uppsättning virtuella datorer i en miljö för distribution. Taggarna är begränsade till 256 tecken vardera. Det finns ingen gräns för hur många taggar du kan använda.

Du kan lägga till taggar eller ta bort taggar för virtuella datorer i det interaktiva registreringsskriptet eller via användargränssnittet genom att välja Fler åtgärder för en VM-resurs.

Skärmbild som visar hur du anger VM-taggar.

Om du anger flera taggar använder pipelinen endast virtuella datorer som innehåller alla taggar. I följande exempel riktas endast mot virtuella datorer som har både taggarna windows och prod . Virtuella datorer som bara har en eller ingen av taggarna är inte riktade.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to VM
  environment: 
    name: VMenv
    resourceType: virtualMachine
    tags: windows,prod # only deploy to VMs with both windows and prod tags
  strategy:
    runOnce:
      deploy:   
          steps:
          - script: echo "Hello world"

Tillämpa distributionsstrategi

Du kan använda en distribution strategy för att definiera hur programmet ska distribueras. Virtuella datorer stöder både strategierna runOnce rolling och . Mer information om distributionsstrategier och livscykelkrokar finns i Distributionsstrategier.

Visa distributionshistorik

Välj fliken Distributioner för fullständig spårning av incheckningar och arbetsobjekt samt en distributionshistorik mellan pipelines per miljö och resurs.

Skärmbild som visar vyn Distributioner av virtuella datorer.

Ta bort en virtuell dator från en miljö

Om du vill ta bort en virtuell dator från en Linux-miljö kör du följande kommando på varje dator.

./config.sh remove