Delen via


VM-resources beheren in omgevingen

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

Een Azure Pipelines-omgeving is een groep resources die u kunt richten op implementaties vanuit een pijplijn. Typische omgevingen zijn ontwikkeling, test of productie.

Als u fysieke of VIRTUELE-machinebronnen (VM)-resources wilt toevoegen aan omgevingen, installeert u agents op de machines. De implementatiegeschiedenis van de omgeving biedt vervolgens traceerbaarheid vanaf elke machine. In dit artikel wordt beschreven hoe u omgevingen definieert en gebruikt voor het beheren van implementaties in VM- of serverbronnen.

Notitie

Azure DevOps-omgevingen zijn alleen beschikbaar voor YAML-pijplijnen. Voor klassieke pijplijnen bieden implementatiegroepen vergelijkbare functionaliteit.

Vereisten

Als u de procedures in dit artikel wilt uitvoeren, hebt u de volgende vereisten nodig:

Een omgeving maken en een VIRTUELE machine toevoegen

Gebruik de volgende procedure om een VIRTUELE machine of fysieke machine toe te voegen aan een omgeving.

De omgeving maken met een VM-resource

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

  2. Voer in het scherm Nieuwe omgeving een naam en een optionele beschrijving in.

  3. Selecteer onder Resourcevirtuele 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. U hebt de PAT alleen nodig om de agent te installeren.

Notitie

Als u een agent voor een implementatiegroep wilt configureren of als er een fout optreedt bij het registreren van de VM-omgevingsresource, stelt u uw PAT Access-bereik in op alle toegankelijke organisaties inpersoonlijke toegangstokens voor >.

  1. Kies Linux onder Besturingssysteem in het scherm Resource van de virtuele machine.

  2. Selecteer het pictogram om het Linux-registratiescript te kopiëren.

    Schermopname van het toevoegen van een virtuele Linux-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 registratiescript uitvoeren op de VIRTUELE machine

  1. Selecteer Sluitaf. De nieuwe omgeving wordt gemaakt. Als u het script opnieuw wilt kopiëren, bijvoorbeeld als uw PAT verloopt, selecteert u Resource opnieuw toevoegen op de pagina van de omgeving.

    Schermopname van het bericht over de gemaakte nieuwe omgeving.

  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 nieuwe agent die u bij de omgeving wilt registreren.

  3. Zodra de VM is geregistreerd, controleert u of deze wordt weergegeven op het tabblad Resources van de Azure Pipelines-omgevingspagina.

    Schermopname van het tabblad Resources.

Omgevingen gebruiken in YAML-pijplijnen

U kunt VM-resources in uw YAML-implementatietaken richten door te verwijzen naar hun omgeving. Zie Implementatietaken en de definitie jobs.deployment in de schemareferentie voor YAML-pijplijnen voor meer informatie over YAML-implementatietaken.

De volgende pijplijnimplementatietaak wordt alleen uitgevoerd op VM's in de VMEnv omgeving.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to VMenv
  environment: VMenv
  strategy:
     runOnce:
        deploy:   
          steps:
            - script: echo "Hello world"

U kunt zich richten op een specifieke VIRTUELE machine in de omgeving door de naam van de VM-resource toe te voegen aan de naam van de omgeving. 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 RESOURCE-PC in VMenv
  environment: VMenv.RESOURCE-PC  # only deploy to the VM resource named RESOURCE-PC
  strategy:
     runOnce:
        deploy:   
          steps:
            - script: echo "Hello world"

U kunt ook de volledige syntaxis van het trefwoord taakimplementatieomgeving gebruiken en implementeren op specifieke omgevings-VM's door deze in resourceNamete vermelden.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to RESOURCE-PC in VMenv with full syntax
  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"

Notitie

  • De resourceType waarden zoals virtualMachine zijn hoofdlettergevoelig. Onjuiste behuizing resulteert in geen overeenkomende resources gevonden.
  • Als u een fase opnieuw probeert uit te voeren, wordt de implementatie opnieuw uitgevoerd op alle opgegeven VM's, niet alleen op mislukte doelen.

Implementatiestrategie

In een implementatietaak past u een implementatie strategy toe om te definiëren hoe uw toepassing moet worden geïmplementeerd. VM's ondersteunen zowel de runOnce als de rolling strategieën. Zie Implementatiestrategieën voor meer informatie over implementatiestrategieën en levenscyclus-hooks.

Permissions

De eerste keer dat u de pijplijn uitvoert die gebruikmaakt van de omgeving, moet u machtigingen verlenen voor alle uitvoeringen van de pijplijn voor toegang tot de agentgroep en de omgeving. Selecteer het wachtsymbool naast de taak in het scherm Samenvatting van pijplijnuitvoering en selecteer vervolgens Toestaan om de benodigde machtigingen te verlenen.

Tags toevoegen en beheren

Tags zijn een manier om een specifieke set omgevings-VM's te richten voor implementatie. Wanneer u in het tags trefwoord opgeeftenvironment, wordt de pijplijn alleen geïmplementeerd op omgevings-VM's waarop de tags zijn toegepast.

Er is geen limiet voor het aantal tags dat u op VM's kunt toepassen. Tagnamen mogen maximaal 256 tekens bevatten.

U kunt tags toepassen of verwijderen door het pictogram Meer acties naast de VIRTUELE machine te selecteren op het tabblad Resources van de omgeving.

Schermopname van het instellen van VM-tags in de gebruikersinterface.

U kunt tags ook interactief toepassen wanneer u het agentscript op de VIRTUELE machine registreert.

Schermopname van het instellen van VM-tags in het interactieve script.

Als u meerdere tags opgeeft, wordt de pijplijn alleen geïmplementeerd op VM's die alle tags bevatten. Het volgende voorbeeld is alleen gericht op VM's die zowel de windows- als de prod-tags hebben. De pijplijn wordt niet geïmplementeerd op VM's met slechts één of geen van de tags.

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"

Implementatiegeschiedenis weergeven

Selecteer het tabblad Implementaties van de omgevingspagina voor volledige tracering van doorvoeringen en werkitems en een implementatiegeschiedenis tussen 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 de computer.

./config.sh remove