Dela via


Hantera virtuella datorresurser i miljöer

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

En Azure Pipelines-miljö är en grupp resurser som du kan rikta in dig på med distributioner från en pipeline. Vanliga miljöer är utveckling, testning eller produktion.

Om du vill lägga till fysiska eller virtuella datorresurser i miljöer installerar du agenter på datorerna. Miljöns distributionshistorik ger sedan spårbarhet från varje dator. Den här artikeln beskriver hur du definierar och använder miljöer för att hantera distributioner mellan virtuella datorer eller serverresurser.

Kommentar

Azure DevOps-miljöer är endast tillgängliga för YAML-pipelines. För klassiska pipelines tillhandahåller distributionsgrupper liknande funktioner.

Förutsättningar

För att kunna utföra procedurerna i den här artikeln behöver du följande krav:

Skapa en miljö och lägg till en virtuell dator

Använd följande procedur för att lägga till en virtuell dator eller fysisk dator i en miljö.

Skapa miljön med 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å skärmen Ny miljö anger du 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. Du behöver bara PAT för att installera agenten.

Kommentar

Om du vill konfigurera en distributionsgruppsagent eller om du får ett fel när du registrerar vm-miljöresursen kan du prova att ange PAT-åtkomstomfånget till Alla tillgängliga organisationer i Användarinställningar>Personliga åtkomsttoken.

  1. På resursskärmen Virtuell dator väljer du Linux under Operativsystem.

  2. Välj ikonen för att kopiera Linux-registreringsskriptet.

    Skärmbild som visar hur du lägger till en virtuell Linux-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 registreringsskriptet på den virtuella datorn

  1. Välj Stäng. Den nya miljön skapas. Om du vill kopiera skriptet igen, till exempel om din PAT upphör att gälla, väljer du Lägg till resurs igen på miljöns sida.

    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 för den nya agent som ska registreras i miljön.

  3. När den virtuella datorn har registrerats kontrollerar du att den visas på fliken Resurser på sidan Azure Pipelines-miljö.

    Skärmbild av fliken Resurser.

Använd miljöer i YAML-pipelines

Du kan rikta in dig på virtuella datorresurser i dina YAML-distributionsjobb genom att referera till deras miljö. Mer information om YAML-distributionsjobb finns i Distributionsjobb och definitionen jobs.deployment i schemareferensen för YAML-pipelines.

Följande pipelinedistributionsjobb körs endast på virtuella datorer i VMEnv miljön.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to VMenv
  environment: VMenv
  strategy:
     runOnce:
        deploy:   
          steps:
            - script: echo "Hello world"

Du kan rikta in dig på en specifik virtuell dator i miljön genom att lägga till namnet på den virtuella datorns resurs till miljönamnet. I följande exempel kommer bara distributionen att ske till den virtuella datorresursen RESOURCE-PC med namnet VMenv i VMenv miljö.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

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

Du kan också använda den fullständiga syntaxen för nyckelordet jobs-deployment-environment och distribuera till specifika virtuella miljödatorer genom att visa dem i resourceName.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to RESOURCE-PC in VMenv with full syntax
  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"

Kommentar

  • Värden resourceType som virtualMachine är skiftlägeskänsliga. Felaktig hölje resulterar i att inga matchande resurser hittas.
  • Om du försöker igen körs distributionen på alla angivna virtuella datorer, inte bara på misslyckade mål.

Distributionsstrategi

I ett distributionsjobb använder du en distribution strategy för att definiera hur programmet ska distribueras. Virtuella datorer stöder både runOnce-strategin och rolling-strategin. Mer information om distributionsstrategier och livscykelkrokar finns i Distributionsstrategier.

Permissions

Första gången du kör pipelinen som använder miljön måste du bevilja behörighet för alla körningar av pipelinen för att få åtkomst till agentpoolen och miljön. Välj symbolen Väntar bredvid jobbet på pipelinekörningsskärmen Sammanfattning och välj sedan Tillåt för att bevilja nödvändiga behörigheter.

Lägga till och hantera taggar

Taggar är ett sätt att rikta in sig på en specifik uppsättning virtuella miljödatorer för distribution. När du anger tags i nyckelordet environment distribueras pipelinen endast till virtuella miljödatorer som har taggarna tillämpade.

Det finns ingen gräns för hur många taggar du kan använda för virtuella datorer. Taggnamn är begränsade till 256 tecken vardera.

Du kan använda eller ta bort taggar genom att välja ikonen Fler åtgärder bredvid den virtuella datorn på fliken Resurser i miljön.

Skärmbild som visar hur du anger VM-taggar i användargränssnittet.

Du kan också använda taggar interaktivt när du registrerar agentskriptet på den virtuella datorn.

Skärmbild som visar hur du anger VM-taggar i det interaktiva skriptet.

Om du anger flera taggar distribueras pipelinen endast till virtuella datorer som innehåller alla taggar. I följande exempel riktar sig endast mot de virtuella datorer som har både taggarna windows och prod. Pipelinen distribueras inte till virtuella datorer som bara har en eller ingen av taggarna.

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"

Visa utplaceringshistorik

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

En skärmdump som visar vyn VM-distributioner.

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å datorn.

./config.sh remove