Steuerung von Releasebereitstellungen durch Gates

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

Gates ermöglichen die automatische Sammlung von Integritätssignalen von externen Diensten und fördern dann die Freigabe, wenn alle Signale gleichzeitig erfolgreich sind oder die Bereitstellung beim Timeout beenden. In der Regel werden Gates in Verbindung mit Der Vorfallverwaltung, Problemverwaltung, Änderungsverwaltung, Überwachung und externen Genehmigungssystemen verwendet.

Szenarien für Tore

Einige Szenarien und Anwendungsfälle für Gates sind:

  • Vorfall- und Problemverwaltung. Stellen Sie sicher, dass Arbeitselemente, Incidents und Issues den erforderlichen Status aufweisen. Stellen Sie beispielsweise sicher, dass die Bereitstellung nur auftritt, wenn keine Priorität null Fehler vorhanden sind, und überprüfung, dass nach der Bereitstellung keine aktiven Vorfälle vorhanden sind.
  • Suchen Sie Genehmigungen außerhalb Azure Pipelines. Benachrichtigen Sie nicht Azure Pipelines Benutzer wie Rechtliche Genehmigungsabteilungen, Prüfer oder IT-Manager über eine Bereitstellung, indem Sie die Integration mit Genehmigungszusammenarbeitssystemen wie Microsoft Teams oder Slack durchführen und warten, bis die Genehmigung abgeschlossen ist.
  • Qualitätsüberprüfung. Abfragemetriken aus Tests auf den Buildartefakten, z. B. Passrate oder Codeabdeckung, und stellen Sie nur bereit, wenn sie innerhalb der erforderlichen Schwellenwerte liegen.
  • Sicherheitsüberprüfung auf Artefakte. Stellen Sie sicher, dass Sicherheitsüberprüfungen wie Virenüberprüfung, Codesignatur und Richtlinienüberprüfung für Buildartefakte abgeschlossen sind. Ein Tor initiiert möglicherweise den Scan und wartet darauf, bis er abgeschlossen ist, oder überprüfen Sie einfach nach Abschluss.
  • Benutzerfreundlichkeit relativ zu Basisplan. Stellen Sie mithilfe der Produkttelemetrie sicher, dass sich die Benutzerfreundlichkeit gegenüber dem Baselinezustand nicht verschlechtert hat Der Grad der Benutzerfreundlichkeit vor der Bereitstellung kann als Baseline betrachtet werden.
  • Änderungsverwaltung. Es muss gewartet werden, bis die Change Management-Verfahren in einem System wie ServiceNow abgeschlossen sind, bevor die Bereitstellung erfolgt.
  • Infrastrukturintegrität. Führen Sie überwachung und überprüfen Sie die Infrastruktur anhand von Complianceregeln nach der Bereitstellung, oder warten Sie auf eine fehlerfreie Ressourcenauslastung und einen positiven Sicherheitsbericht.

Die meisten Integritätsparameter variieren im Laufe der Zeit, und ändern ihren Status regelmäßig von gesunder und ungesunder und wieder zu gesunder Gesundheit. Um solche Variationen zu berücksichtigen, werden alle Tore regelmäßig neu ausgewertet, bis alle gleichzeitig erfolgreich sind. Die Releaseausführung und -bereitstellung wird nicht fortgesetzt, wenn alle Gates nicht im selben Intervall und vor dem konfigurierten Timeout erfolgreich sind.

Definieren eines Tors für eine Phase

Sie können Tore am Anfang einer Phase (unter den Bedingungen vor der Bereitstellung) oder am Ende einer Phase (Nachbereitstellungsbedingungen) oder beides aktivieren. Ausführliche Informationen zum Aktivieren von Toren finden Sie unter Konfigurieren eines Gates.

Die Verzögerung vor der Auswertung ist eine Zeitverzögerung am Anfang des Gate-Evaluierungsprozesses, mit der die Gates die Initialisierung, Stabilisierung und die Bereitstellung präziser Ergebnisse für die aktuelle Bereitstellung ermöglichen (siehe Gate-Auswertungsflüsse). Beispiel:

  • Für Bereitstellungsgates wäre die Verzögerung die Zeit, die für alle Fehler erforderlich wäre, die für die Bereitstellung von Artefakten protokolliert werden müssen.
  • Bei Bereitstellungsgaten wäre die Verzögerung das Maximum der Zeit, die für die bereitgestellte App benötigt wird, um einen stabilen Betriebszustand zu erreichen, die Zeit für die Ausführung aller erforderlichen Tests in der bereitgestellten Phase und die Zeit, bis Vorfälle nach der Bereitstellung protokolliert werden müssen.

Die folgenden Gates sind standardmäßig verfügbar:

  • Aufrufen der Azure-Funktion: Auslösen der Ausführung einer Azure-Funktion und sicherstellen, dass die Ausführung erfolgreich abgeschlossen ist. Weitere Informationen finden Sie unter Azure-Funktionsaufgabe.
  • Azure-Monitorbenachrichtigungen abfragen: Beachten Sie die konfigurierten Azure Monitor-Warnungsregeln für aktive Warnungen. Weitere Informationen finden Sie unter Azure Monitor-Aufgabe.
  • Aufrufen der REST-API: Rufen Sie eine REST-API auf, und fahren Sie fort, wenn sie eine erfolgreiche Antwort zurückgibt. Weitere Informationen finden Sie unter HTTP-REST-API-Aufgabe.
  • Abfragearbeitselemente: Stellen Sie sicher, dass die Anzahl der übereinstimmenden Arbeitselemente, die von einer Abfrage zurückgegeben werden, innerhalb eines Schwellenwerts liegt. Weitere Informationen finden Sie in der Abfrageaufgabe "Arbeitselement".
  • Sicherheits- und Compliancebewertung: Bewerten sie Azure Policy Compliance für Ressourcen im Rahmen einer bestimmten Abonnement- und Ressourcengruppe und optional auf einer bestimmten Ressourcenebene. Weitere Informationen finden Sie unter "Security Compliance and Assessment"-Aufgabe.

Sie können eigene Tore mit Marketplace-Erweiterungen erstellen.

Die Bewertungsoptionen, die für alle von Ihnen hinzugefügten Tore gelten, sind:

  • Zeit zwischen der Neubewertung von Toren. Das Zeitintervall zwischen aufeinander folgenden Auswertungen der Tore. In jedem Samplingintervall werden neue Anforderungen gleichzeitig an jedes Gate gesendet, und die neuen Ergebnisse werden ausgewertet. Es wird empfohlen, dass das Samplingintervall größer als die längste typische Antwortzeit der konfigurierten Tore ist, um Zeit für alle Antworten zur Auswertung zu ermöglichen.
  • Timeout, nach dem Tore fehlschlagen. Der maximale Auswertungszeitraum für alle Tore. Die Bereitstellung wird abgelehnt, wenn das Timeout erreicht wird, bevor alle Tore während des gleichen Samplingintervalls erfolgreich sind.
  • Gates und Genehmigungen. Wählen Sie die erforderliche Ausführungsreihenfolge für Tore und Genehmigungen aus, wenn Sie beide konfiguriert haben. Bei Vorbereitstellungsbedingungen muss der Standardwert zuerst zur Eingabe manueller (Benutzer)-Genehmigungen aufgefordert werden, und anschließend Tore bewerten. Dadurch wird das System daran gehindert, die Gate-Funktionen auszuwerten, wenn die Veröffentlichung vom Benutzer abgelehnt wird. Bei Bedingungen nach der Bereitstellung ist der Standardwert die Bewertung von Gates und die Aufforderung zur manuellen Genehmigung nur, wenn alle Tore erfolgreich sind. Dadurch wird sichergestellt, dass die Genehmigenden alle informationen haben, die für die Genehmigung erforderlich sind.

Informationen zum Anzeigen von Gateergebnissen und Protokollen finden Sie unter Anzeigen der Protokolle für Genehmigungen und Überwachen und Nachverfolgen von Bereitstellungen.

Beispiele für die Bewertung von Gate-Bewertungen

Das folgende Diagramm veranschaulicht den Fluss der Gate-Auswertung, bei dem die Bereitstellung nach dem anfänglichen Stabilisierungsverzögerungszeitraum und drei Samplingintervallen genehmigt wird.

Successful gates

Das folgende Diagramm veranschaulicht den Fluss der Gate-Auswertung, bei dem nach der anfänglichen Stabilisierungsverzögerung nicht alle Tore bei jedem Samplingintervall erfolgreich sind. In diesem Fall wird die Bereitstellung nach Ablauf des Timeoutzeitraums abgelehnt.

Failed gates

Video

Zusätzliche Ressourcen

Hilfe und Support