Umgebung – VM-Ressource
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Verwenden Sie VM-Ressourcen, um Bereitstellungen auf mehreren Computern mit YAML-Pipelines zu verwalten. Mithilfe von VM-Ressourcen können Sie Agents für rollierende Bereitstellungen auf Ihren eigenen Servern installieren.
Von VM-Ressourcen wird eine Verbindung mit Umgebungen hergestellt. Nachdem Sie eine Umgebung definiert haben, können Sie VMs mit Bereitstellungen zum Ziel hinzufügen. Die Ansicht „Bereitstellungsverlauf“ in einer Umgebung ermöglicht die Rückverfolgbarkeit von Ihrem virtuellen Computer bis zu Ihrer Pipeline.
Voraussetzungen
Sie benötigen mindestens eine Basic-Lizenz und Zugriff auf die folgenden Bereiche:
- das mit Ihrer Pipeline verbundene Repository
- die VM, die Sie mit der Umgebung verbinden möchten
Weitere Informationen zur Sicherheit für Azure Pipelines finden Sie unter Pipelinesicherheitsressourcen.
Wenn Sie einer Umgebung einen virtuellen Computer hinzufügen möchten, müssen Sie über die Administratorrolle für den entsprechenden Bereitstellungspool verfügen. Ein Bereitstellungspool ist eine Gruppe von Zielservern, die der Organisation zur Verfügung stehen. Erfahren Sie mehr über Bereitstellungspool- und Umgebungsberechtigungen.
Hinweis
Wenn Sie einen Bereitstellungsgruppen-Agent konfigurieren oder beim Registrieren einer VM-Umgebungsressource ein Fehler angezeigt wird, müssen Sie den PAT-Bereich auf Alle zugänglichen Organisationen festlegen.
Erstellen einer VM-Ressource
Hinweis
Sie können denselben Prozess verwenden, um physische Computer mit einem Registrierungsskript einzurichten.
Der erste Schritt beim Hinzufügen einer VM-Ressource besteht darin, eine Umgebung zu definieren.
Definieren einer Umgebung
- Wählen Sie Umgebung erstellen oder Neue Umgebung aus, je nachdem, ob es sich um Ihre erste Umgebung handelt.
- Fügen Sie einen Namen (erforderlich) für die Umgebung und eine Beschreibung hinzu.
- Speichern Sie die neue Umgebung.
Ressource hinzufügen
Wählen Sie Ihre Umgebung und dann Ressource hinzufügen aus.
Wählen Sie Virtuelle Computer als Ressourcentyp aus. Wählen Sie Weiteraus.
Wählen Sie Windows oder Linux als Betriebssystem aus.
Kopieren Sie das Registrierungsskript. Ihr Skript ist ein PowerShell-Skript, wenn Sie Windows ausgewählt haben, und ein Linux-Skript, wenn Sie Linux ausgewählt haben.
Führen Sie das kopierte Skript auf jedem virtuellen Zielcomputer aus, den Sie bei dieser Umgebung registrieren möchten.
- Bei einer Installation unter Windows müssen Sie das Skript von einem PowerShell-Administrator ausführen.
- Bei einer Installation unter Linux benötigen Sie die Berechtigung zum Herunterladen und Ausführen ausführbarer Skripts.
Hinweis
- Das persönliche Zugriffstoken (Personal Access Token, PAT) für den angemeldeten Benutzer wird in das Skript eingeschlossen. Das PAT läuft an dem Tag ab, an dem Sie das Skript generieren.
- Wenn auf der VM bereits ein anderer Agent ausgeführt wird, geben Sie unter Agent einen eindeutigen Namen an, der in der Umgebung registriert wird.
- Weitere Informationen zum Installieren des Agent-Skripts finden Sie unter Selbstgehostete Linux-Agents und Selbstgehostete Windows-Agents. Die Agent-Skripts für VM-Ressourcen ähneln den Skripts für selbstgehostete Agents, und Sie können dieselben Befehle verwenden.
Sobald die VM registriert ist, wird sie auf der Registerkarte Ressourcen der Umgebung als Umgebungsressource angezeigt.
Zum Hinzufügen weiterer VMs kopieren Sie das Skript erneut. Wählen Sie Ressource hinzufügen>Virtuelle Computer aus. Die Windows- und Linux-Skripts sind für alle der Umgebung hinzugefügten virtuellen Computer identisch.
Wenn das VM-Skript erfolgreich installiert wurde, wird die VM in der Liste der Ressourcen für die Umgebung angezeigt.
Verwenden eines virtuellen Computers in Pipelines
Legen Sie virtuelle Computer in Ihrer Pipeline als Ziel fest, indem Sie auf die Umgebung verweisen. Standardmäßig wird der Pipelineauftrag für alle virtuellen Computer ausgeführt, die für eine Umgebung mit einem resourceName
definiert sind.
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"
Hinweis
Bei den resourceType
-Werten muss die Groß-/Kleinschreibung berücksichtigt werden. Die falsche Schreibweise bei der Groß-/Kleinschreibung führt dazu, dass keine übereinstimmenden Ressourcen in der Umgebung gefunden werden. Weitere Informationen finden Sie unter YAML-Schema.
Sie können einen bestimmten virtuellen Computer aus der Umgebung als einziges Bereitstellungsziel auswählen, indem Sie ihn mit seinem resourceName
angeben. Wenn Sie z. B. die VM-Ressource mit dem Namen USHAN-PC
in der Umgebung VMenv
als einziges Bereitstellungsziel auswählen möchten, fügen Sie den Parameter resourceName
hinzu, und weisen Sie ihm den Wert USHAN-PC
zu.
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"
Weitere Informationen zu Bereitstellungsaufträgen finden Sie unter YAML-Schema.
Hinzufügen und Verwalten von Tags
Tags bieten Ihnen eine Möglichkeit, eine Gruppe von bestimmten virtuellen Computern in einer Umgebung als Bereitstellungsziel festzulegen. Sie können dem virtuellen Computer Tags als Teil des interaktiven Registrierungsskripts oder über die Benutzeroberfläche hinzufügen. Tags sind jeweils auf 256 Zeichen begrenzt. Sie können eine unbegrenzte Anzahl an Tags verwenden.
Auf der Benutzeroberfläche können Sie Tags in der Ressourcenansicht hinzufügen oder aus dieser entfernen, indem Sie Weitere Aktionen für eine VM-Ressource auswählen.
Wenn Sie mehrere Tags auswählen, werden virtuelle Computer, die alle Tags enthalten, in Ihrer Pipeline verwendet. In dieser Pipeline werden beispielsweise die virtuellen Computer als Ziel festgelegt, die mit den Tags windows
und prod
versehen sind. Wenn ein virtueller Computer nur über eines dieser Tags verfügt, wird er nicht als Ziel verwendet.
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"
Anwenden einer Bereitstellungsstrategie
Wenden Sie eine Bereitstellungsstrategie an, um zu definieren, wie Ihre Anwendung eingeführt wird. Sowohl die Strategie runOnce
als auch die Strategie rolling
werden für virtuelle Computer unterstützt.
Weitere Informationen zu Bereitstellungsstrategien und Lebenszyklus-Hooks finden Sie unter Bereitstellungsaufträge/Bereitstellungsstrategien.
Anzeigen des Bereitstellungsverlaufs
Wählen Sie die Registerkarte Bereitstellungen aus, damit Sie die Commits und Arbeitselemente komplett nachverfolgen und einen pipelineübergreifenden Bereitstellungsverlauf für jede Umgebung und Ressource anzeigen können.
Entfernen eines virtuellen Computers aus einer Umgebung
Windows-Umgebung
Führen Sie den folgenden Befehl aus, um virtuelle Computer aus einer Windows-Umgebung zu entfernen. Achten Sie darauf, dass Sie die folgenden Aufgaben ausführen:
- Den Befehl über eine PowerShell-Administratoreingabeaufforderung ausführen
- Den Befehl auf jedem Computer ausführen
- Den Befehl im selben Ordnerpfad ausführen, in dem auch der Befehl für die Umgebungsregistrierung ausgeführt wurde
./config.cmd remove
Linux-Umgebung
Führen Sie den folgenden Befehl auf jedem Computer aus, um einen virtuellen Computer aus einer Linux-Umgebung zu entfernen.
./config.sh remove
Bekannte Einschränkungen
Wenn Sie eine Phase wiederholen, wird die Bereitstellung auf allen virtuellen Computern und nicht nur auf fehlgeschlagenen Zielen erneut ausgeführt.
Verwandte Artikel
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für