Omgeving - resource van virtuele machine
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Gebruik VM-resources (virtuele machines) om implementaties op meerdere machines met YAML-pijplijnen te beheren. Met VM-resources kunt u agents op uw eigen servers installeren voor rolling implementaties.
VM-resources maken verbinding met omgevingen. Nadat u een omgeving hebt gedefinieerd, kunt u VM's toevoegen aan het doel met implementaties. De weergave implementatiegeschiedenis in een omgeving biedt traceerbaarheid van uw VM naar uw pijplijn.
Vereisten
U moet ten minste een basislicentie en toegang hebben tot de volgende gebieden:
- de opslagplaats die is verbonden met uw pijplijn
- de VIRTUELE machine die u wilt verbinden met de omgeving
Zie Beveiligingsresources voor pijplijnen voor meer informatie over beveiliging voor Azure Pipelines.
Als u een VIRTUELE machine aan een omgeving wilt toevoegen, moet u de beheerdersrol hebben voor de bijbehorende implementatiegroep. Een implementatiegroep is een set doelservers die beschikbaar zijn voor de organisatie. Meer informatie over implementatiegroep- en omgevingsmachtigingen.
Notitie
Als u een agent voor een implementatiegroep configureert of als er een fout optreedt bij het registreren van een VM-omgevingsresource, moet u het PAT-bereik instellen op Alle toegankelijke organisaties.
Een VM-resource maken
Notitie
U kunt hetzelfde proces gebruiken om fysieke machines in te stellen met een registratiescript.
De eerste stap bij het toevoegen van een VM-resource is het definiëren van een omgeving.
Een omgeving definiëren
- Selecteer Omgeving maken of Nieuwe omgeving, afhankelijk van of dit uw eerste omgeving is.
- Voeg een naam (vereist) toe voor de omgeving en een beschrijving.
- Sla de nieuwe omgeving op.
Een resource toevoegen
Selecteer uw omgeving en kies Resource toevoegen.
Selecteer Virtuele machines voor uw resourcetype . Selecteer Volgende.
Kies Windows of Linux voor het besturingssysteem.
Kopieer het registratiescript. Uw script is een PowerShell-script als u Windows en een Linux-script hebt geselecteerd als u Linux hebt geselecteerd.
Voer het gekopieerde script uit op elk van de doel-VM's die u wilt registreren bij deze omgeving.
- Als u windows installeert, moet u het script uitvoeren als PowerShell-beheerder.
- Als u linux installeert, moet u gemachtigd zijn om uitvoerbare scripts te downloaden en uit te voeren.
Notitie
- Het Personal Access Token (PAT) voor de aangemelde gebruiker wordt opgenomen in het script. De PAT verloopt op de dag dat u het script genereert.
- Als er al een andere agent op uw VM wordt uitgevoerd, geeft u een unieke naam op die de agent moet registreren bij de omgeving.
- Zie Zelf-hostende Linux-agents en Zelf-hostende Windows-agents voor meer informatie over het installeren van het agentscript. De agentscripts voor VM-resources zijn net als de scripts voor zelf-hostende agents en u kunt dezelfde opdrachten gebruiken.
Zodra uw virtuele machine is geregistreerd, wordt deze weergegeven als een omgevingsresource op het tabblad Resources van de omgeving.
Als u meer VM's wilt toevoegen, kopieert u het script opnieuw. Selecteer Virtuele resourcemachines> toevoegen. De Windows- en Linux-scripts zijn hetzelfde voor alle VM's die aan de omgeving zijn toegevoegd.
Wanneer het VM-script is geïnstalleerd, wordt uw VIRTUELE machine weergegeven in de lijst met resources voor de omgeving.
VM gebruiken in pijplijnen
Doel-VM's in uw pijplijn door te verwijzen naar de omgeving. De pijplijntaak wordt standaard uitgevoerd voor alle vm's die zijn gedefinieerd voor een omgeving met een 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"
Notitie
De resourceType
waarden zijn hoofdlettergevoelig. Als u de onjuiste behuizing opgeeft, worden er geen overeenkomende resources gevonden in de omgeving. Zie het YAML-schema voor meer informatie.
U kunt een specifieke virtuele machine uit de omgeving selecteren om alleen de implementatie te ontvangen door deze op te geven door deze op te geven.resourceName
Als u bijvoorbeeld alleen wilt implementeren op de virtuele-machineresource met de naam USHAN-PC
in de VMenv
omgeving, voegt u de parameter toe en geeft u deze resourceName
de waarde .USHAN-PC
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"
Zie het YAML-schema voor meer informatie over implementatietaken.
Tags toevoegen en beheren
Met tags kunt u zich richten op een set specifieke VM's in een omgeving voor implementatie. U kunt tags toevoegen aan de virtuele machine als onderdeel van het interactieve registratiescript of via de gebruikersinterface. Tags zijn elk beperkt tot 256 tekens. Er is geen limiet voor het aantal tags dat u kunt gebruiken.
Voeg tags toe aan of verwijder deze uit de resourceweergave door Meer acties voor een VM-resource te selecteren.
Wanneer u meerdere tags selecteert, worden vm's met alle tags gebruikt in uw pijplijn. Deze pijplijn is bijvoorbeeld gericht op VM's met zowel de als prod
de windows
tags. Als een VIRTUELE machine slechts een van deze tags heeft, is deze niet gericht.
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"
Implementatiestrategie toepassen
Pas een implementatiestrategie toe om te definiëren hoe uw toepassing wordt geïmplementeerd. De runOnce
strategie en de rolling
strategie voor VM's worden beide ondersteund.
Zie Implementatietaken/Implementatiestrategieën voor meer informatie over implementatiestrategieën en levenscyclushaken.
Implementatiegeschiedenis weergeven
Selecteer het tabblad Implementaties voor volledige tracering van doorvoeringen en werkitems en een implementatiegeschiedenis voor meerdere pijplijnen per omgeving en resource.
Een VIRTUELE machine verwijderen uit een omgeving
Windows-omgeving
Als u VM's uit een Windows-omgeving wilt verwijderen, voert u de volgende opdracht uit. Zorg ervoor dat u de volgende taken uitvoert:
- Voer de opdracht uit vanaf een PowerShell-opdrachtprompt van een beheerder
- Voer de opdracht uit op elke computer
- Voer de opdracht uit in hetzelfde mappad als de omgevingsregistratieopdracht is uitgevoerd
./config.cmd remove
Linux-omgeving
Als u een VIRTUELE machine uit een Linux-omgeving wilt verwijderen, voert u de volgende opdracht uit op elke computer.
./config.sh remove
Bekende beperkingen
Wanneer u een fase opnieuw probeert uit te voeren, wordt de implementatie opnieuw uitgevoerd op alle VM's en niet alleen mislukte doelen.
Verwante artikelen:
- Over omgevingen
- Meer informatie over implementatietaken
- YAML schema reference (Naslag voor YAML-schema's)
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor