Miljö – resurs för virtuella datorer

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

Använd virtuella datorresurser (VM) för att hantera distributioner på flera datorer med YAML-pipelines. Med vm-resurser kan du installera agenter på dina egna servrar för löpande distributioner.

Virtuella datorresurser ansluter till miljöer. När du har definierat en miljö kan du lägga till virtuella datorer som mål med distributioner. Distributionshistorikvyn i en miljö ger spårbarhet från den virtuella datorn till din pipeline.

Förutsättningar

Du måste ha minst en Basic-licens och åtkomst till följande områden:

  • lagringsplatsen som är ansluten till din pipeline
  • den virtuella dator som du vill ansluta till miljön

Mer information om säkerhet för Azure Pipelines finns i Pipeline-säkerhetsresurser.

Om du vill lägga till en virtuell dator i en miljö måste du ha rollen Administratör för motsvarande distributionspool. En distributionspool är en uppsättning målservrar som är tillgängliga för organisationen. Läs mer om distributionspool och miljöbehörigheter.

Kommentar

Om du konfigurerar en distributionsgruppagent, eller om du ser ett fel när du registrerar en vm-miljöresurs, måste du ange PAT-omfånget till Alla tillgängliga organisationer.

Skapa en VM-resurs

Kommentar

Du kan använda samma process för att konfigurera fysiska datorer med ett registreringsskript.

Det första steget när du lägger till en VM-resurs är att definiera en miljö.

Definiera en miljö

  1. Välj Skapa miljö eller Ny miljö, beroende på om det är din första miljö.
  2. Lägg till ett namn (krävs) för miljön och en beskrivning.
  3. Spara den nya miljön.

Lägga till en resurs

  1. Välj din miljö och välj Lägg till resurs.

  2. Välj Virtuella datorer som resurstyp. Välj sedan Nästa.

    Add an environment.

  3. Välj Windows eller Linux för operativsystemet.

  4. Kopiera registreringsskriptet. Skriptet är ett PowerShell-skript om du har valt Windows och ett Linux-skript om du har valt Linux.

    Add a virtual machine.

  5. Kör det kopierade skriptet på var och en av de virtuella måldatorer som du vill registrera med den här miljön.

    • Om du installerar på Windows måste du köra skriptet som PowerShell-administratör.
    • Om du installerar på Linux måste du ha behörighet att ladda ned och köra körbara skript.

    Kommentar

    • Pat (Personal Access Token) för den inloggade användaren tas med i skriptet. PAT upphör att gälla den dag du genererar skriptet.
    • Om den virtuella datorn redan har någon annan agent som körs på den anger du ett unikt namn som agenten kan registrera med miljön.
    • Mer information om hur du installerar agentskriptet finns i Lokalt installerade Linux-agenter och Lokalt installerade Windows-agenter. Agentskripten för VM-resurser liknar skripten för lokalt installerade agenter och du kan använda samma kommandon.
  6. När den virtuella datorn har registrerats visas den som en miljöresurs under fliken Resurser i miljön.

  7. Om du vill lägga till fler virtuella datorer kopierar du skriptet igen. Välj Lägg till resurs>Virtuella datorer. Windows- och Linux-skripten är desamma för alla virtuella datorer som läggs till i miljön.

  8. När det virtuella datorskriptet har installerats visas den virtuella datorn i listan över resurser för miljön.

    View resources.

Använda virtuell dator i pipelines

Rikta in virtuella datorer i din pipeline genom att referera till miljön. Som standard körs pipelinejobbet för alla virtuella datorer som definierats för en miljö med en resourceName.

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ärdena resourceType är skiftlägeskänsliga. Om du anger fel hölje kommer inga matchande resurser att hittas i miljön. Mer information finns i YAML-schemat .

Du kan välja en specifik virtuell dator från miljön för att bara ta emot distributionen genom att ange den med dess resourceName. Om du till exempel bara vill distribuera till den virtuella datorresursen med namnet USHAN-PC i miljön lägger du till parametern resourceName och ger den värdet USHAN-PC.VMenv

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

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

Mer information om distributionsjobb finns i YAML-schemat.

Lägga till och hantera taggar

Taggar ger dig ett sätt att rikta in dig på en uppsättning specifika virtuella datorer i en miljö för distribution. Du kan lägga till taggar till den virtuella datorn som en del av det interaktiva registreringsskriptet eller via användargränssnittet. Taggar är begränsade till 256 tecken vardera. Det finns ingen gräns för hur många taggar du kan använda.

Lägg till eller ta bort taggar i användargränssnittet från resursvyn genom att välja Fler åtgärder för en vm-resurs.

Set VM tags.

När du väljer flera taggar används virtuella datorer som innehåller alla taggar i pipelinen. Den här pipelinen riktar sig till exempel mot virtuella datorer med både taggarna windows och prod . Om en virtuell dator bara har en av dessa taggar är den inte riktad.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

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

Tillämpa distributionsstrategi

Använd en distributionsstrategi för att definiera hur programmet distribueras. Både runOnce strategin och rolling strategin för virtuella datorer stöds. Mer information om distributionsstrategier och livscykelkrokar finns i Distributionsjobb/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.

VMDeployments_view

Ta bort en virtuell dator från en miljö

Windows-miljö

Kör följande kommando för att ta bort virtuella datorer från en Windows-miljö. Se till att du utför följande uppgifter:

  • Kör kommandot från en powershell-administratörskommandoprompt
  • Kör kommandot på varje dator
  • Kör kommandot i samma mappsökväg som miljöregistreringskommandot kördes
./config.cmd remove

Linux-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

Kända begränsningar

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