Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Eine Azure Pipelines-Umgebung ist eine Gruppe von Ressourcen , auf die Sie mit Bereitstellungen aus einer Pipeline abzielen können. Typische Umgebungen umfassen Entwicklung, Test oder Produktion.
Um physische oder virtuelle Computerressourcen (VM) zu Umgebungen hinzuzufügen, installieren Sie Agents auf den Computern. Der Bereitstellungsverlauf der Umgebung stellt dann die Rückverfolgbarkeit von jedem Computer bereit. In diesem Artikel wird beschrieben, wie Sie Umgebungen definieren und verwenden, um Bereitstellungen über VM- oder Serverressourcen hinweg zu verwalten.
Hinweis
Azure DevOps-Umgebungen sind nur für YAML-Pipelines verfügbar. Für klassische Pipelines bieten Bereitstellungsgruppen ähnliche Funktionen.
Voraussetzungen
Um die Verfahren in diesem Artikel auszuführen, benötigen Sie die folgenden Voraussetzungen:
- Zugriff auf ein Quell-Repository, in dem Sie Pipelines erstellen können. Weitere Informationen finden Sie unter Unterstützte Quellrepositorys.
- Administratorrolle für den Bereitstellungspool, die Gruppe von Zielservern, die für Ihre Azure DevOps-Organisation verfügbar sind. Weitere Informationen finden Sie unter Festlegen der Sicherheit von Bereitstellungsgruppen in Azure Pipelines.
- Projektadministrator- oder Buildadministratorberechtigungen im Azure DevOps-Projekt, das die Umgebung enthält. Weitere Informationen finden Sie unter Ressourcensicherheit.
- Zugriff und Berechtigung zum Herunterladen und Ausführen von ausführbaren Skripts auf virtuellen Computern, die Sie mit der Umgebung verbinden möchten.
Erstellen einer Umgebung und Hinzufügen eines virtuellen Computers
Verwenden Sie das folgende Verfahren, um einer Umgebung einen virtuellen Computer oder einen physischen Computer hinzuzufügen.
Erstellen der Umgebung mit einer VM-Ressource
Navigieren Sie im Azure DevOps-Projekt zu Pipelines>Umgebungen. Wählen Sie dann Umgebung erstellen oder Neue Umgebung aus.
Geben Sie auf dem Bildschirm "Neue Umgebung " einen Namen und eine optionale Beschreibung ein.
Wählen Sie unter "Ressource" die Option "Virtuelle Computer" und dann "Weiter" aus.
Kopieren des Registrierungsskripts
Die Agentskripts für VM-Ressourcen sind wie die Skripts für selbst gehostete Agents und verwenden dieselben Befehle. Die Skripts enthalten ein Azure DevOps Personal Access Token (PAT) für den angemeldeten Benutzer, der drei Stunden nach dem Generieren des Skripts abläuft. Sie benötigen den PAT nur, um den Agent zu installieren.
Hinweis
Um einen Bereitstellungsgruppen-Agent zu konfigurieren, oder wenn beim Registrieren der VM-Umgebungsressource ein Fehler auftritt, versuchen Sie, ihren PAT-Zugriffsbereich auf alle barrierefreien Organisationen in Den Benutzereinstellungen>persönliche Zugriffstoken festzulegen.
Wählen Sie auf dem Ressourcenbildschirm des virtuellen Computers Unter Betriebssystem Linux aus.
Wählen Sie das Symbol aus, um das Linux-Registrierungsskript zu kopieren.
Das Skript ist für alle Linux-VMs identisch, die der Umgebung hinzugefügt wurden. Weitere Informationen zum Installieren des Agent-Skripts finden Sie unter Selbst gehostete Linux-Agents.
Ausführen des kopierten Registrierungsskripts auf der VM
Wählen Sie "Schließen" aus. Die neue Umgebung wird erstellt. Wenn Sie das Skript erneut kopieren möchten, z. B. wenn Ihr PAT abläuft, wählen Sie " Ressource erneut hinzufügen " auf der Seite der Umgebung aus.
Führen Sie das kopierte Skript auf jeder Ziel-VM aus, die Sie bei der Umgebung registrieren möchten.
Hinweis
Wenn der virtuelle Computer bereits über einen anderen Agent verfügt, der darauf ausgeführt wird, geben Sie einen eindeutigen Namen für die neu
agentzu registrierende Umgebung an.Überprüfen Sie nach der Registrierung des virtuellen Computers, ob sie auf der Registerkarte "Ressourcen " der Azure-Pipelines-Umgebungsseite angezeigt wird.
Verwenden von Umgebungen in YAML-Pipelines
Sie können VM-Ressourcen in Ihren YAML-Bereitstellungsaufträgen als Ziel verwenden, indem Sie auf ihre Umgebung verweisen. Weitere Informationen zu YAML-Bereitstellungsaufträgen finden Sie unter Bereitstellungsaufträge und der Definition "jobs.deployment " in der SCHEMAreferenz für YAML-Pipelines.
Der folgende Pipelinebereitstellungsauftrag wird nur auf virtuellen Computern in der VMEnv Umgebung ausgeführt.
trigger:
- main
pool:
vmImage: ubuntu-latest
jobs:
- deployment: VMDeploy
displayName: Deploy to VMenv
environment: VMenv
strategy:
runOnce:
deploy:
steps:
- script: echo "Hello world"
Sie können auf einen bestimmten virtuellen Computer in der Umgebung abzielen, indem Sie den Namen der VM-Ressource an den Umgebungsnamen anfügen. Im folgenden Beispiel wird nur die VM-Ressource bereitgestellt, die in der RESOURCE-PC Umgebung benannt istVMenv.
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"
Sie können auch die vollständige Syntax des Schlüsselworts "jobs-deployment-environment " verwenden und in bestimmten Umgebungs-VMs bereitstellen, indem Sie sie auflisten resourceName.
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"
Hinweis
- Bei
resourceTypeden Werten wievirtualMachinebei der Groß-/Kleinschreibung wird die Groß-/Kleinschreibung beachtet. Falsche Groß-/Kleinschreibung führt zu keine übereinstimmenden Ressourcen. - Wenn Sie eine Phase wiederholen, wird die Bereitstellung auf allen angegebenen virtuellen Computern erneut ausgeführt, nicht nur bei fehlgeschlagenen Zielen.
Bereitstellungsstrategie
In einem Bereitstellungsauftrag wenden Sie eine Bereitstellung strategy an, um zu definieren, wie Sie Ihre Anwendung bereitstellen. VMs unterstützen sowohl die runOnce Strategien als auch die rolling Strategien. Weitere Informationen zu Bereitstellungsstrategien und Lebenszyklus-Hooks finden Sie unter Bereitstellungsstrategien.
Erlaubnisse
Wenn Sie die Pipeline zum ersten Mal ausführen, die die Umgebung verwendet, müssen Sie allen Ausführungsläufen der Pipeline berechtigungen erteilen, um auf den Agentpool und die Umgebung zuzugreifen. Wählen Sie das Wartesymbol neben dem Auftrag auf dem Bildschirm "Zusammenfassung " der Pipelineausführung aus, und wählen Sie dann "Zulassen" aus, um die erforderlichen Berechtigungen zu erteilen.
Hinzufügen und Verwalten von Tags
Tags sind eine Möglichkeit, eine bestimmte Gruppe von Umgebungs-VMs für die Bereitstellung zu verwenden. Wenn Sie im tags Schlüsselwort angebenenvironment, wird die Pipeline nur für Umgebungs-VMs bereitgestellt, auf die die Tags angewendet wurden.
Es gibt keine Beschränkung auf die Anzahl der Tags, die Sie auf VMs anwenden können. Tagnamen sind jeweils auf 256 Zeichen beschränkt.
Sie können Tags anwenden oder entfernen, indem Sie das Symbol " Weitere Aktionen " neben der VM auf der Registerkarte " Ressourcen " der Umgebung auswählen.
Sie können Tags auch interaktiv anwenden, wenn Sie das Agent-Skript auf der VM registrieren.
Wenn Sie mehrere Tags angeben, wird die Pipeline nur für VMs bereitgestellt, die alle Tags enthalten. Das folgende Beispiel zielt nur auf VMs ab, die sowohl über die windows als prod auch über Tags verfügen. Die Pipeline wird nicht für VMs mit nur einem oder keiner der Tags bereitgestellt.
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"
Anzeigen des Bereitstellungsverlaufs
Wählen Sie die Registerkarte "Bereitstellungen" der Umgebungsseite aus, um die vollständige Rückverfolgbarkeit von Commits und Arbeitsaufgaben sowie einen pipelineübergreifenden Bereitstellungsverlauf pro Umgebung und Ressource zu ermitteln.
Entfernen eines virtuellen Computers aus einer Umgebung
Um einen virtuellen Computer aus einer Linux-Umgebung zu entfernen, führen Sie den folgenden Befehl auf dem Computer aus.
./config.sh remove