Delen via


VM-resources beheren in omgevingen

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

In dit artikel wordt beschreven hoe u vm-resources (virtuele machines) gebruikt in omgevingen voor het beheren van Azure Pipelines-implementaties op meerdere machines. U kunt agents ook installeren op uw eigen servers voor rolling implementaties.

VM-resources kunnen bestaan in omgevingen, zoals Ontwikkeling, Testen of Productie. Nadat u een omgeving hebt gedefinieerd, kunt u VM's toevoegen aan het doel met implementaties. De implementatiegeschiedenis van de omgeving biedt traceerbaarheid van elke VIRTUELE machine naar uw pijplijn.

Vereisten

  • Toegang tot een bronopslagplaats die is verbonden met uw pijplijn.
  • Toegang en machtigingen voor het downloaden en uitvoeren van uitvoerbare scripts op de VM's die u wilt verbinden met de omgeving.
  • Machtigingen voor projectbeheerder of buildbeheerder in het Azure DevOps-project dat de omgeving bevat. Zie Pijplijnbeveiligingsresources voor meer informatie.
  • Beheerdersrol voor de implementatiegroep of een set doelservers die beschikbaar zijn voor de organisatie. Zie implementatiegroep- en omgevingsmachtigingen voor meer informatie.

Notitie

Als u een agent voor een implementatiegroep wilt configureren of als er een fout optreedt bij het registreren van een VM-omgevingsresource, moet u het bereik van uw persoonlijke toegangstoken (PAT) instellen op Alle toegankelijke organisaties.

Maak de omgeving

Gebruik de volgende procedure om een VM-resource toe te voegen aan een omgeving. U kunt hetzelfde proces gebruiken om fysieke machines in te stellen.

Een VM-resource toevoegen

  1. Ga in uw Azure DevOps-project naar Pijplijnomgevingen> en selecteer vervolgens Omgeving maken of Nieuwe omgeving.

  2. Voeg in het eerste scherm Nieuwe omgeving een naam en een optionele beschrijving toe.

  3. Selecteer onder Resource virtuele machines en selecteer vervolgens Volgende.

    Schermopname van het toevoegen van een omgeving.

Het registratiescript kopiëren

De agentscripts voor VM-resources zijn net als de scripts voor zelf-hostende agents en gebruiken dezelfde opdrachten. De scripts bevatten een Azure DevOps Personal Access Token (PAT) voor de aangemelde gebruiker, die drie uur na het genereren van het script verloopt.

  1. Kies Linux onder Besturingssysteem in het volgende scherm Nieuwe omgeving.

  2. Kopieer het Linux-registratiescript.

    Schermopname van het toevoegen van een virtuele machine.

Het script is hetzelfde voor alle Linux-VM's die aan de omgeving zijn toegevoegd. Zie Zelf-hostende Linux-agents voor meer informatie over het installeren van het agentscript.

Het gekopieerde script uitvoeren

  1. Selecteer Sluiten en houd er rekening mee dat de nieuwe omgeving is gemaakt. Als u het script opnieuw wilt kopiëren, bijvoorbeeld als uw PAT verloopt, selecteert u Resource toevoegen.

    Schermopname van het bericht dat de nieuwe omgeving is gemaakt.

  2. Voer het gekopieerde script uit op elke doel-VM die u wilt registreren bij de omgeving.

    Notitie

    Als op de VIRTUELE machine al een andere agent wordt uitgevoerd, geeft u een unieke naam op voor de agent die bij de omgeving moet worden geregistreerd.

Zodra de VIRTUELE machine is geregistreerd, wordt deze weergegeven als een resource op het tabblad Resources van de omgeving.

Schermopname van het tabblad Resources.

VM's gebruiken in pijplijnen

In uw YAML-pijplijn kunt u zich richten op VM's door te verwijzen naar hun omgeving. De taak is standaard gericht op alle vm's die zijn geregistreerd voor die omgeving resourceName.

Notitie

Wanneer u een fase opnieuw probeert, wordt de implementatie opnieuw uitgevoerd op alle VM's, niet alleen mislukte doelen.

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 zoals virtualMachine hoofdlettergevoelig. Onjuiste behuizing resulteert in geen overeenkomende resources gevonden.

U kunt implementeren op specifieke VM's in de omgeving door ze op te geven in resourceName. In het volgende voorbeeld wordt alleen geïmplementeerd op de VM-resource met de naam RESOURCE-PC in de VMenv omgeving.

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"

Zie het YAML-pijplijnschema voor meer informatie over YAML-pijplijnimplementatietaken.

Tags toevoegen en beheren

Tags zijn een manier om een specifieke set virtuele machines in een omgeving te richten voor implementatie. Tags mogen maximaal 256 tekens bevatten. Er is geen limiet voor het aantal tags dat u kunt gebruiken.

U kunt tags toevoegen of tags verwijderen voor VM's in het interactieve registratiescript of via de gebruikersinterface door Meer acties voor een VM-resource te selecteren.

Schermopname van het instellen van VM-tags.

Als u meerdere tags opgeeft, gebruikt de pijplijn alleen virtuele machines die alle tags bevatten. Het volgende voorbeeld is alleen gericht op VM's met zowel de als prod de windows tags. VM's met slechts één of geen van de tags zijn 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 VMs with both windows and prod tags
  strategy:
    runOnce:
      deploy:   
          steps:
          - script: echo "Hello world"

Implementatiestrategie toepassen

U kunt een implementatie strategy toepassen om te definiëren hoe u uw toepassing kunt implementeren. VM's ondersteunen zowel de runOnce als de rolling strategieën. Zie Implementatiestrategieën voor meer informatie over implementatiestrategieën en levenscyclushook.

Implementatiegeschiedenis weergeven

Selecteer het tabblad Implementaties voor volledige tracering van doorvoeringen en werkitems en een implementatiegeschiedenis voor meerdere pijplijnen per omgeving en resource.

Schermopname van de weergave VM-implementaties.

Een VIRTUELE machine verwijderen uit een omgeving

Als u een VIRTUELE machine uit een Linux-omgeving wilt verwijderen, voert u de volgende opdracht uit op elke computer.

./config.sh remove