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
I ditt Azure DevOps-projekt går du till Pipelines-miljöer> och väljer sedan Skapa miljö eller Ny miljö.
På den första skärmen Ny miljö lägger du till ett Namn och en valfri Beskrivning.
Under Resurs väljer du Virtuella datorer och sedan Nästa.
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.
På nästa skärm ny miljö väljer du Linux under Operativsystem.
Kopiera Linux-registreringsskriptet.
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
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.
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.
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.
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.
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