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ö
- Välj Skapa miljö eller Ny miljö, beroende på om det är din första miljö.
- Lägg till ett namn (krävs) för miljön och en beskrivning.
- Spara den nya miljön.
Lägga till en resurs
Välj din miljö och välj Lägg till resurs.
Välj Virtuella datorer som resurstyp. Välj sedan Nästa.
Välj Windows eller Linux för operativsystemet.
Kopiera registreringsskriptet. Skriptet är ett PowerShell-skript om du har valt Windows och ett Linux-skript om du har valt Linux.
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.
När den virtuella datorn har registrerats visas den som en miljöresurs under fliken Resurser i miljön.
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.
När det virtuella datorskriptet har installerats visas den virtuella datorn i listan över resurser för miljön.
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.
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.
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.
Relaterade artiklar
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för