Bereitstellungsgates
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Gates ermöglichen die automatische Erfassung von Integritätssignalen von externen Diensten und führen das Release weiter, wenn alle Signale erfolgreich sind, oder beenden die Bereitstellung nach einem Timeout. In der Regel werden Gates in Verbindung mit Incidentverwaltung, Problemverwaltung, Change Management, Überwachung und externen Genehmigungssystemen verwendet.
Anwendungsfälle
Einige häufige Anwendungsfälle für Bereitstellungsgates sind:
- Incidentverwaltung: Stellen Sie sicher, dass bestimmte Kriterien erfüllt sind, bevor Sie mit der Bereitstellung fortfahren. Stellen Sie beispielsweise sicher, dass die Bereitstellung nur erfolgt, wenn keine Priorität-Null-Fehler vorhanden sind.
- Genehmigungen einholen: Benachrichtigen Sie externe Benutzer*innen wie Rechtsabteilungen, Wirtschaftsprüfer*innen oder IT-Manager*innen über eine Bereitstellung, indem Sie sie mit anderen Diensten wie Microsoft Teams oder Slack integrieren und auf die Genehmigungen warten.
- Qualitätsüberprüfung: Fragen Sie Pipelinemetriken wie Erfolgsquote oder Code Coverage ab, und stellen Sie diese nur bereit, wenn sie sich innerhalb eines vordefinierten Schwellenwerts befinden.
- Sicherheitsüberprüfung: Führen Sie Sicherheitsüberprüfungen durch, z. B. Überprüfung von Artefakten, Codesignatur und Richtlinienüberprüfung. Ein Bereitstellungsgate kann den Scan initiieren und warten, bis er abgeschlossen ist, oder nur auf den Abschluss prüfen.
- Benutzererlebnis im Vergleich zur Basislinie: Stellen Sie mithilfe der Produkttelemetrie sicher, dass sich das Benutzererlebnis gegenüber dem Baselinezustand nicht verschlechtert hat. Die Metriken für das Benutzererlebnis vor der Bereitstellung konnten als Baseline verwendet werden.
- Change Management: Warten Sie, bis die Change Management-Verfahren in einem System wie ServiceNow abgeschlossen sind, bevor Sie mit der Bereitstellung fortfahren.
- Integrität der Infrastruktur: Führen Sie die Überwachung aus, und überprüfen Sie die Infrastruktur nach der Bereitstellung anhand von Konformitätsregeln, oder warten Sie auf eine fehlerfreie Ressourcennutzung und einen positiven Sicherheitsbericht.
Die meisten Integritätsparameter variieren im Laufe der Zeit und ändern regelmäßig ihre Status von „fehlerfrei“ zu „fehlerhaft“ und wieder zurück zu „fehlerfrei“. Um solche Variationen zu berücksichtigen, werden alle Gates in regelmäßigen Abständen neu ausgewertet, bis alle gleichzeitig erfolgreich sind. Die Releaseausführung und -bereitstellung wird nicht fortgesetzt, wenn nicht alle Gates im gleichen Intervall und vor dem konfigurierten Timeout erfolgreich sind.
Definieren eines Gates für eine Stage
Sie können Gates am Anfang einer Stage (Bedingungen vor der Bereitstellung) oder am Ende einer Stage (Bedingungen nach der Bereitstellung) oder für beides aktivieren. Weitere Informationen finden Sie unter Einrichten von Gates .
Die Verzögerung vor Auswertung ist eine Zeitverzögerung zu Beginn des Gateauswertungsprozesses, die es den Gates ermöglicht, zu initialisieren, zu stabilisieren und damit zu beginnen, genaue Ergebnisse für die aktuelle Bereitstellung bereitzustellen. Weitere Informationen finden Sie unter Gateauswertungsflows .
- Bei Gates vor Bereitstellung entspricht die Verzögerung der Zeit, die erforderlich ist, damit alle Fehler für die bereitgestellten Artefakte protokolliert werden.
- Bei Gates nach Bereitstellung ist die Verzögerung die maximale Zeit, die die bereitgestellte App benötigt, um einen stabilen Betriebszustand zu erreichen, die Zeit, die für die Ausführung aller erforderlichen Tests in der bereitgestellten Stage benötigt wird, und die Zeit, die es dauert, bis Incidents nach der Bereitstellung protokolliert werden.
Die folgenden Gates sind standardmäßig verfügbar:
- Azure-Funktion aufrufen: Auslösen der Ausführung einer Azure-Funktion und Sicherstellen der erfolgreichen Ausführung. Weitere Informationen finden Sie unter der Task „Azure-Funktion“.
- Azure Monitor-Warnungen abfragen: Hiermit werden die konfigurierten Azure Monitor-Warnungsregeln für aktive Warnungen beobachtet. Weitere Informationen finden Sie unter der Task „Azure-Überwachung“.
- REST-API aufrufen: Aufrufen einer REST-API und fortfahren, wenn sie eine Antwort „erfolgreich“ zurückgibt. Weitere Informationen finden Sie unter der Task „Aufrufen der REST-API“.
- Arbeitselemente abfragen: Hiermit wird sichergestellt, dass die Anzahl der von einer Abfrage zurückgegebenen übereinstimmenden Arbeitselemente innerhalb eines bestimmten Schwellenwerts liegt. Weitere Informationen finden Sie unter der Task „Abfrage von Arbeitselementen“.
- Sicherheits- und Konformitätsbewertung: Bewerten der Azure Policy-Konformität für Ressourcen innerhalb des Bereichs eines bestimmten Abonnements und einer bestimmten Ressourcengruppe, und optional auf einer bestimmten Ressourcenebene. Weitere Informationen finden Sie unter der Task „Überprüfen der Azure Policy-Konformität“.
Mit Marketplace-Erweiterungen können Sie auch Ihre eigenen Gates erstellen.
Die Auswertungsoptionen, die für alle Gates gelten, sind:
- Zeitraum bis zur erneuten Auswertung von Gates. Das Zeitintervall zwischen aufeinanderfolgenden Auswertungen der Gates. Bei 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 Gates ist, um Zeit für den Empfang aller Antworten für die Auswertung zu ermöglichen.
- Zeitlimit, nach dem Gates als fehlerhaft gelten. Der maximale Auswertungszeitraum für alle Gates. Die Bereitstellung wird abgelehnt, wenn das Timeout erreicht wird, bevor alle Gates während desselben Samplingintervalls erfolgreich sind.
- Gates und Genehmigungen. Wählen Sie die erforderliche Ausführungsreihenfolge für Gates und Genehmigungen aus, wenn Sie beide konfiguriert haben. Bei Bedingungen vor der Bereitstellung besteht die Standardeinstellung darin, zuerst manuelle (Benutzer-)Genehmigungen einzufordern und anschließend Gates auszuwerten. Dies verhindert, dass das System die Gate-Funktionen auswerten kann, wenn die Freigabe vom Benutzer abgelehnt wird. Bei Bedingungen nach der Bereitstellung werden standardmäßig Gates ausgewertet und manuelle Genehmigungen nur dann angefordert, wenn alle Gates erfolgreich sind. Dadurch wird sichergestellt, dass die genehmigenden Personen über alle Informationen verfügen, die für die Genehmigung erforderlich sind.
Weitere Informationen zu Gates-Analysen finden Sie unter Anzeigen von Genehmigungsprotokollen und Überwachen und Nachverfolgen von Bereitstellungen.
Beispiele für den Gateauswertungsflow
Das folgende Diagramm veranschaulicht den Flow der Gateauswertung, bei dem die Bereitstellung nach der anfänglichen Stabilisierungsverzögerung und drei Samplingintervallen genehmigt wird.
Das folgende Diagramm veranschaulicht den Flow der Gateauswertung, bei dem nach der anfänglichen Stabilisierungsverzögerung nicht alle Gates in jedem Samplingintervall erfolgreich waren. In diesem Fall wird die Bereitstellung nach Ablauf des Timeoutzeitraums abgelehnt.
Ressourcen
- Erstellen von benutzerdefinierten Gates
- Twitter-Stimmung als Releasegate
- GitHub-Probleme als Releasegate