Bereitstellen von Bereitstellungsgruppen

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Bei einer Bereitstellungsgruppe handelt es sich um einen logischen Satz von Bereitstellungsziel-Computern, auf denen jeweils Agents installiert sind. Bereitstellungsgruppen stellen die physischen Umgebungen dar, z. B. die Umgebungen „Dev“, „Test“ oder „Produktion“. Im Grunde ist eine Bereitstellungsgruppe nur eine weitere Gruppierung von Agents, ähnlich wie ein Agentpool.

Bereitstellungsgruppen sind nur mit klassischen Releasepipelines verfügbar und unterscheiden sich von Bereitstellungsaufträgen. Bei einem Bereitstellungsauftrag handelt es sich um eine Sammlung von Bereitstellungsschritten, die in einer YAML-Datei definiert sind, um eine bestimmte Aufgabe auszuführen.

Bereitstellungsgruppen bieten folgende Möglichkeiten:

  • Geben Sie den Sicherheitskontext und die Runtime-Ziele für die Agents an. Beim Erstellen einer Bereitstellungsgruppe können Sie Benutzer hinzufügen und Ihnen entsprechende Berechtigungen zum Administrieren, Verwalten, Anzeigen und Verwenden der Gruppe geben.

  • Sie können Liveprotokolle für jeden Server anzeigen, wenn eine Bereitstellung erfolgt, und Protokolle für alle Server herunterladen, um Ihre Bereitstellungen auf einzelnen Computern zu verfolgen.

  • Ermöglicht die Verwendung von Computertags, um die Bereitstellung auf bestimmte Gruppen von Zielservern einzuschränken.

Erstellen einer Bereitstellungsgruppe

Bei einer Bereitstellungsgruppe handelt es sich um eine Gruppe von virtuellen Computern mit Bereitstellungs-Agents. Jeder virtuelle Computer der Bereitstellungsgruppe interagiert mit Azure Pipelines, um die Bereitstellungsaufgaben zu koordinieren.

  1. Wählen Sie in Ihrem Projekt PipelinesBereitstellungsgruppen aus.

    Zugriff auf Bereitstellungsgruppen

  2. Wählen Sie Bereitstellungsgruppe hinzufügen aus.

    Hinzufügen einer neuen Bereitstellungsgruppen

  3. Geben Sie den Namen der Bereitstellungsgruppe ein, und wählen Sie dann Erstellen aus. Daraufhin wird ein Registrierungsskript generiert. Wählen Sie den Typ des zu registrierende Ziels und dann Verwenden Sie für die Authentifizierung ein persönliches Zugriffstoken im Skript aus. Wählen Sie abschließend Skript in die Zwischenablage kopieren aus.

    Erstellen einer Bereitstellungsgruppe – generiertes Skript

  4. Melden Sie sich bei jedem Zielcomputer an, und führen Sie das Skript über eine PowerShell-Eingabeaufforderung mit erhöhten Rechten aus, um den Computer als Zielserver zu registrieren. Drücken Sie Y, wenn Sie aufgefordert werden, Tags für Ihren Agent einzugeben, und geben Sie die Tags ein, die Sie zum Filtern von Teilmengen der Server verwenden.

    Registrieren von Bereitstellungsgruppenservern

Nach dem Einrichten der Zielserver sollte das Skript die folgende Meldung ausgeben: Service vstsagent.{organization-name}.{computer-name} started successfully.

Mit den Tags, die Sie Ihren Zielservern zuweisen, können Sie die Bereitstellung auf bestimmte Server in einem Bereitstellungsgruppenauftrag beschränken. Ein Tag ist auf 256 Zeichen beschränkt. Die Anzahl der Tags, die Sie verwenden können, ist aber nicht beschränkt.

Hinweis

Ein Bereitstellungspool ist eine Gruppe von Zielservern, die der Organisation zur Verfügung stehen (im Organisationsbereich). Wenn Sie einen neuen Bereitstellungspool für Projekte in Ihrer Organisation erstellen, wird für jedes Projekt automatisch eine entsprechende Bereitstellungsgruppe bereitgestellt. Die Bereitstellungsgruppen verfügen über die gleichen Zielserver wie der Bereitstellungspool.

Einrichten von Agents für Bereitstellungsgruppen

Jeder Zielserver in der Bereitstellungsgruppe erfordert einen Bereitstellungs-Agent. Es gibt drei verschiedene Möglichkeiten, um einen Agent auf den Zielservern zu installieren:

  • Durch Ausführen des generierten Skripts auf der Registerkarte Bereitstellungsgruppen.

  • Wenn es sich bei den Zielservern um Azure-VMs handelt, können Sie die Server ohne großen Aufwand einrichten, indem Sie auf jeder betreffenden VM die Erweiterung für den Azure Pipelines-Agent installieren.

  • Mit der ARM-Vorlagenbereitstellungsaufgabe in der Releasepipeline können Sie eine Bereitstellungsgruppe dynamisch erstellen.

Sie können erzwingen, dass die Agents auf den Zielservern auf die neueste Version aktualisiert werden, ohne diese erneut bereitstellen zu müssen, indem Sie im Kontextmenü für eine Bereitstellungsgruppe den Befehl Ziele aktualisieren auswählen.

Überwachen des Releasestatus für Bereitstellungsgruppen

Wenn eine Releasepipeline ausgeführt wird, können Sie die Liveprotokolle für jeden Zielserver in der Bereitstellungsgruppe anzeigen. Nachdem die Bereitstellung durchgeführt wurde, können Sie die Protokolldateien für jeden Server herunterladen, um die Bereitstellungen zu untersuchen und Probleme zu beheben.

Releaseprotokolle für Bereitstellungsgruppen

Freigeben einer Bereitstellungsgruppe für andere Projekte

Bereitstellungsgruppen können für andere Projekte in derselben Organisation freigegeben werden. Führen Sie die folgenden Schritte aus, um eine Bereitstellungsgruppe für andere Projekte bereitzustellen:

  1. Wählen Sie in Ihrem Projekt PipelinesBereitstellungsgruppen aus.

  2. Wählen Sie die Bereitstellungsgruppe und dann Verwalten aus.

    Verwalten von Bereitstellungsgruppen

  3. Wählen Sie ein Projekt in der Liste und dann Speichern aus.

    Freigeben einer Bereitstellungsgruppe für ein Projekt

  4. Das Projekt enthält jetzt die soeben eingefügte neue Bereitstellungsgruppe.

    Freigegebene neue Bereitstellungsgruppe

Automatische Bereitstellung auf neuen Zielservern

Wenn neue Zielserver zu einer Bereitstellungsgruppe hinzugefügt werden, können Sie die Umgebung so konfigurieren, dass das letzte erfolgreiche Release automatisch auf den neuen Zielen bereitgestellt wird.

Wählen Sie in der Definition der Releasepipeline das Symbol für Aktionen nach der Bereitstellung aus, und aktivieren Sie dann den Trigger für automatische Neubereitstellungen. Wählen Sie die Ereignisse und die Aktion wie in der Abbildung dargestellt aus.

Automatische Bereitstellung auf neuen Zielservern