Verwenden von Gates und Genehmigungen zum Steuern der Bereitstellung

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

Durch die Verwendung einer Kombination aus manuellen Bereitstellungsgenehmigungen, Gates und manuellen Eingriffen in Ihre Releasepipeline können Sie Ihre Bereitstellung schnell und einfach so konfigurieren, dass sie vor der Bereitstellung alle spezifischen Anforderungen für Ihren Workflow erfüllt.

In diesem Tutorial lernen Sie Folgendes:

  • Gates vor der Bereitstellung
  • Benutzereingriff
  • Manuelle Validierung
  • Bereitstellungsprotokolle

Voraussetzungen

Einrichten von Gates

Sie können Gates verwenden, um sicherzustellen, dass die Releasepipeline vor der Bereitstellung bestimmte Kriterien erfüllt, ohne dass ein Benutzereingriff erforderlich ist.

  1. Wählen Sie Pipelines>Releases und dann Ihre Releasepipeline aus. Wählen Sie Bearbeiten aus, um den Pipeline-Editor zu öffnen.

    Screenshot: Bearbeitungsschaltfläche für Releasepipelines.

  2. Wählen Sie das „vor der Bereitstellung“-Symbol für Ihre Phase aus, und wählen Sie dann die Umschaltfläche aus, um Gates zu aktivieren.

    Screenshot: Aktivieren von Gates.

  3. Geben Sie die Verzögerungszeit vor der Auswertung der hinzugefügten Gates an. Diese Verzögerung soll Gate-Funktionen die Initialisierung und Stabilisierung ermöglichen, bevor Ergebnisse zurückgegeben werden.

    Screenshot: Verzögerungszeit für Gates vor Bereitstellung festlegen.

  4. Wählen Sie Hinzufügen und dann Arbeitselemente abfragen aus.

    Screenshot: Aufgabe „Arbeitselemente abfragen“ hinzufügen.

  5. Wählen Sie im Dropdownmenü eine vorhandene Arbeitselementabfrage aus. Legen Sie Ihre maximalen und minimalen Schwellenwerte der erwarteten Anzahl zurückgegebener Arbeitselemente von der Abfrage entsprechend fest.

    Screenshot: Konfigurieren der Aufgabe „Arbeitselemente abfragen“.

  6. Wählen Sie den Abschnitt Auswertungsoptionen aus und geben Sie dann das Timeout und das Stichprobenintervall an. Die Mindestwerte, die Sie angeben können, sind 6 Minuten für das Timeout und 5 Minuten für das Stichprobenintervall.

    Screenshot: Konfigurieren der Auswertungsoptionen für die Aufgabe „Arbeitselemente abfragen“.

  7. Wählen Sie Speichern aus, wenn Sie fertig sind.

    Screenshot: Speichern einer Releasepipeline.

Einrichten des manuellen Eingriffs

Je nach Szenario müssen Sie ihrer Releasepipeline manchmal einen manuellen Eingriff hinzufügen. Fügen Sie dazu der Pipeline die Aufgabe „Manueller Eingriff“ hinzu.

  1. Wählen Sie Pipelines>Releases aus. Wählen Sie Ihre Releasepipeline und wählen Sie dann Aufgaben und Ihre Phase aus.

    Screenshot: Navigieren zu Phasenaufgaben in einer Releasepipeline.

  2. Wählen Sie das Auslassungszeichen (...) und dann Auftrag ohne Agent hinzufügen aus.

    Screenshot: Hinzufügen eines Auftrags ohne Agent.

  3. Ziehen Sie den Auftrag ohne Agent an den Anfang ihres Bereitstellungsprozesses. Wählen Sie das Pluszeichen (+) und fügen Sie dann die Aufgabe „Manueller Eingriff“ hinzu.

    Screenshot: Hinzufügen der Aufgabe „Manueller Eingriff“.

  4. Geben Sie einen Anzeigenamen und die Anweisungen ein, die beim Auslösen der Aufgabe angezeigt werden. Sie können auch eine Liste der zu benachrichtigenden Benutzer und eine Timeoutaktion (Ablehnen oder Fortsetzen) angeben, wenn innerhalb des Timeoutzeitraums kein Eingriff aufgetreten ist.

    Screenshot: Konfigurieren der Aufgabe „Manueller Eingriff“.

  5. Wählen Sie Speichern aus, wenn Sie fertig sind.

Hinweis

Die Aufgabe Manuelle Intervention kann nur in einem Auftrag ohne Agent verwendet werden.

Einrichten der manuellen Überprüfung

Sie können die Aufgabe „Manuelle Überprüfung“ in Ihrer YAML-Pipeline verwenden, um anzuhalten und auf die manuelle Genehmigung zu warten. Die manuelle Validierung ist besonders nützlich in Szenarien, in denen Sie Konfigurationseinstellungen validieren oder Pakete erstellen möchten, bevor Sie einen rechenintensiven Auftrag starten.

Der Auftrag waitForValidation hält die Ausführung an und löst eine fordert über die Benutzeroberfläche dazu auf, die Aufgabe zu überprüfen und zu validieren. Die in notifyUsers aufgeführten E-Mail-Adressen erhalten eine Benachrichtigung, dass die Pipelineausführung genehmigt oder verweigert werden muss.

Screenshot: Aufforderung zur manuellen Überprüfung.

pool: 
   vmImage: ubuntu-latest

jobs:
- job: waitForValidation
  displayName: Wait for external validation  
  pool: server    
  timeoutInMinutes: 4320 # job times out in 3 days
  steps:   
   - task: ManualValidation@0
     timeoutInMinutes: 1440 # task times out in 1 day
     inputs:
         notifyUsers: |
            someone@example.com
         instructions: 'Please validate the build configuration and resume'
         onTimeout: 'resume'

Bereitstellungsprotokolle anzeigen

Bereitstellungsprotokolle sind nützlich, um Bereitstellungsprobleme zu debuggen, Sie können sie aber auch verwenden, um Ihre Pipelineausführungen zu überwachen und Genehmigungen zu überprüfen und zu überprüfen, wie und von wem sie zugewiesen wurden.

  1. Wählen Sie Pipelines>Releases und dann Ihre Releasepipeline aus.

    Screenshot: Liste mit Releasedefinitionen.

  2. In dieser Ansicht wird ein Live-Status jeder Phase in Ihrer Pipeline angezeigt. Die QA-Phase erfordert in diesem Beispiel einen Eingriff. Wählen Sie Fortsetzen aus.

    Screenshot: QA-Phase wartet auf Eingriff.

  3. Geben Sie Ihren Kommentar ein und klicken Sie auf Fortsetzen.

    Screenshot: Reagieren auf eine Aufforderung zu erforderlichem manuellem Eingriff.

  4. Die Bereitstellung der QA-Phase war erfolgreich und die vor der Bereitstellung erforderlichen Genehmigungen für die Produktionsphase werden ausgelöst.

    Screenshot: Vor der Bereitstellung erforderliche Genehmigung für die nächste Stufe wurde ausgelöst.

  5. Wählen Sie Genehmigen aus, geben Sie Ihren Kommentar ein und wählen Sie Genehmigen aus, um die Bereitstellung fortzusetzen.

    Screenshot: Reagieren auf eine Aufforderung zu erforderlicher Genehmigung.

  6. Die Live-Status gibt an, dass die Gates für die Produktionsphase verarbeitet werden, bevor die Veröffentlichung fortgesetzt wird.

    Screenshot: Verarbeitungsgates in der Produktionsphase.

  7. Kehren Sie zu Ihrer Releasepipeline zurück, fahren Sie mit der Maus über Ihre Phase und wählen Sie dann Protokolle aus, um die Bereitstellungsprotokolle anzuzeigen.

    Screenshot: Zugreifen auf Bereitstellungsprotokolle.