Definieren von Genehmigungen und Überprüfungen

Azure DevOps Services

Eine Pipeline setzt sich aus Phasen zusammen. Pipelineersteller*innen können Bedingungen für eine Phase definieren, um zu steuern, ob die Phase ausgeführt werden soll. Eine weitere Möglichkeit, um zu steuern, ob und wann eine Phase ausgeführt werden soll, sind Genehmigungen und Überprüfungen.

Genehmigungen und andere Überprüfungen werden nicht in der YAML-Datei definiert. Benutzer*innen, die die YAML-Datei der Pipeline ändern, können die vor Beginn einer Phase durchgeführten Überprüfungen nicht ändern. Administrator*innen von Ressourcen verwalten Überprüfungen über die Weboberfläche von Azure Pipelines.

Pipelines benötigen Ressourcen wie Umgebungen, Dienstverbindungen, Agentpools, Variablengruppen und sichere Dateien. Mithilfe von Überprüfungen können Ressourcenbesitzer*innen steuern, ob und wann eine Ressource durch eine Phase in einer Pipeline genutzt werden kann. Als Besitzer*in einer Ressource können Sie Überprüfungen definieren, die bestanden werden müssen, bevor eine Phase, die diese Ressource nutzt, beginnen kann. Eine manuelle Genehmigungsprüfung für eine Umgebung stellt beispielsweise sicher, dass die Bereitstellung in dieser Umgebung erst dann erfolgt, wenn die vorgesehenen Benutzenden die bereitgestellten Änderungen überprüft haben.

Eine Phase kann aus zahlreichen Aufträgen bestehen, und jeder Auftrag kann mehrere Ressourcen nutzen. Bevor die Ausführung einer Phase beginnen kann, müssen alle Überprüfungen für alle in dieser Phase genutzten Ressourcen bestanden worden sein. Azure Pipelines hält die Ausführung einer Pipeline vor jeder Phase an und wartet, bis alle ausstehenden Überprüfungen abgeschlossen sind.

Es gibt fünf Kategorien von Genehmigungen und Prüfungen, die in der Reihenfolge ihrer Erstellung innerhalb der jeweiligen Kategorie ausgeführt werden. Überprüfungen werden basierend auf dem in jeder Überprüfung angegebenen Wiederholungsintervall erneut ausgewertet. Waren bis zum angegebenen Timeout nicht alle Überprüfungen erfolgreich, wird die betreffende Phase nicht ausgeführt. Ist eine der Überprüfungen endgültig nicht erfolgreich (beispielsweise bei Verweigerung einer Genehmigung für eine der Ressourcen), wird die betreffende Phase nicht ausgeführt.

Sie können eine Phase wiederholen, wenn ein Timeout für Genehmigungen und Überprüfungen auftritt.

Zuerst werden statische Prüfungen ausgeführt und dann die Genehmigungen der vor Prüfungen. Die Reihenfolge der Kategorien ist:

  1. Statische Prüfungen: Branch-Kontrolle, Erforderliche Vorlage und Artefakt auswerten
  2. Genehmigungen vor der Prüfungen
  3. Dynamische Prüfungen: Genehmigen, Azure Function aufrufen, REST-API aufrufen, Geschäftszeiten, Azure Monitor-Warnhinweise abfragen
  4. Genehmigungen nach der Prüfung
  5. Exklusive Sperre

Sie können die Ausführungsreihenfolge auch auf der Registerkarte Genehmigungen und Prüfungen sehen.

Wichtig

Überprüfungen können für Umgebungen, Dienstverbindungen, Repositorys, Variablengruppen, sichere Dateien und Agentpools konfiguriert werden.

Dienstverbindungen können nicht durch eine Variable angegeben werden.

Genehmigungen

Mithilfe von Genehmigungen und Kontrollen können Sie manuell steuern, wann eine Stage ausgeführt werden soll. Diese Überprüfung wird häufig verwendet, um Bereitstellungen in Produktionsumgebungen zu steuern.

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie Pipelines>-Umgebungen und dann Ihre Umgebung aus.

  3. Wählen Sie die Registerkarte Genehmigungen und Kontrollen aus und wählen Sie dann das +-Zeichen aus, um eine neue Kontrolle hinzuzufügen.

    Ein Screenshot, der zeigt, wie Genehmigungen und Überprüfungen in Azure Pipelines hinzugefügt werden.

  4. Wählen Sie Genehmigungen und anschließend Weiter aus.

  5. Fügen Sie Benutzer oder Gruppen als Ihre vorgesehenen Genehmiger hinzu und geben Sie bei Bedarf Anweisungen für die Genehmigenden an. Geben Sie an, ob die Genehmigenden ihre eigene Ausführung genehmigen dürfen oder nicht und geben Sie die gewünschte Zeitüberschreitung an. Wenn die Genehmigungen nicht innerhalb der angegebenen Zeitüberschreitung abgeschlossen werden, wird die Stufe als übersprungen markiert.

  6. Wählen Sie Erstellen, wenn Sie fertig sind.

    Ein Screenshot, der zeigt, wie Sie eine neue Genehmigung erstellen.

  7. Sobald die Genehmigungsprüfung ausgelöst wurde, wird auf der Benutzeroberfläche ein Eingabeaufforderungsfenster angezeigt, wie im folgenden Beispiel gezeigt. Dieses Fenster bietet die Option, dass genehmigende Personen die Ausführung entweder ablehnen oder genehmigen können, zusammen mit allen begleitenden Anweisungen.

    Ein Screenshot, der das Fenster mit der Genehmigungsaufforderung zeigt.

Die Liste der Benutzenden, die eine Genehmigung überprüfen können, ist zu dem Zeitpunkt festgelegt, zu dem die Genehmigungen und Prüfungen ausgeführt werden. Das heißt, dass Änderungen an der Liste der Benutzenden und Gruppen einer Genehmigungsprüfung, die nach Beginn der Ausführung der Prüfungen vorgenommen werden, nicht mehr berücksichtigt werden.

Hinweis

Wenn eine Gruppe als Genehmigender bestimmt ist, muss nur ein Benutzer innerhalb der Gruppe genehmigen, damit die Ausführung erfolgen kann.

Zurückgestellte Genehmigungen

Es gibt Situationen, in denen der Zeitpunkt, zu dem eine Genehmigung erteilt wird, und der Zeitpunkt, zu dem die Bereitstellung beginnen soll, nicht übereinstimmen. Zum Beispiel könnten Sie mit der Bereitstellung einer neuen Version bis zu einer Zeit mit geringem Datenverkehr am Abend warten wollen.

Für dieses Szenario können Sie eine Genehmigung zurückstellen und den Zeitpunkt festlegen, zu dem die Genehmigung wirksam wird.

  1. Wählen Sie Genehmigung zurückstellen aus.

    Screenshot der Option „Genehmigung verzögern“, wenn Sie auf eine Genehmigungsanforderung reagieren.

  2. Legen Sie die Genehmigungszeit fest.

    Screenshot des Festlegens des Zeitpunkts für eine Genehmigung.

Sie sehen die Genehmigung im Bereich Prüfungen als Vorabgenehmigung. Die Genehmigung wird zum festgelegten Zeitpunkt wirksam.

Steuerung von Branches

Mithilfe der Überprüfung „Steuerung von Branches“ können Sie sicherstellen, dass alle mit der Pipeline verknüpften Ressourcen aus den zulässigen Branches erstellt werden und dass die Branches geschützt sind. Diese Überprüfung hilft bei der Kontrolle der Releasebereitschaft und der Qualität von Bereitstellungen. Falls mehrere Ressourcen mit der Pipeline verknüpft sind, wird die Quelle für alle Ressourcen überprüft. Wenn Sie eine weitere Pipeline verknüpft haben, wird der Branch der spezifischen Ausführung, die bereitgestellt wird, aus Sicherheitsgründen überprüft.

So definieren Sie die Überprüfung „Steuerung von Branches“

  1. Navigieren Sie in Ihrem Azure DevOps-Projekt zu der Ressource, die geschützt werden soll (beispielsweise die Umgebung).

  2. Navigieren Sie zu Genehmigungen und Prüfungen für die Ressource.

  3. Wählen Sie die Überprüfung Steuerung von Branches aus, und geben Sie eine durch Trennzeichen getrennte Liste zulässiger Branches an. Sie können festlegen, dass der Branch geschützt sein muss. Außerdem können Sie definieren, wie sich die Überprüfung verhalten soll, wenn der Schutzstatus eines der Branches nicht bekannt ist. Eine Verzweigung gilt als geschützt, wenn mindestens eine Richtlinie angewendet wurde (einschließlich richtlinien, die auf Repositoryebene angewendet wurden).

    Konfigurieren der Überprüfung „Steuerung von Branches“

Zur Laufzeit werden Branches für alle verknüpften Ressourcen in der Ausführung anhand der Positivliste überprüft. Erfüllt einer der Branches die Kriterien nicht, ist die Überprüfung nicht erfolgreich, und die Phase wird als nicht erfolgreich gekennzeichnet.

Hinweis

Für die Überprüfung müssen die Branchnamen vollständig qualifiziert sein. Stellen Sie sicher, dass Branchnamen dem Format refs/heads/<branch name> entsprechen.

Geschäftszeiten

Falls die Bereitstellungen in Ihrer Umgebung nur in einem bestimmten Zeitfenster durchgeführt werden sollen, ist die Überprüfung der Geschäftszeiten die ideale Lösung. Wenn Sie eine Pipeline ausführen, wird mit der Ausführung der Phase, in der die Ressource verwendet wird, bis zu den Geschäftszeiten gewartet. Sind mehrere Ausführungen gleichzeitig aktiv, werden sie jeweils unabhängig überprüft. Zu Beginn der Geschäftszeiten wird die Überprüfung für alle Ausführungen als erfolgreich markiert.

Konfigurieren der Überprüfung der Geschäftszeiten

Wurde die Ausführung der Phase bis zum Ende der Geschäftszeiten nicht gestartet (weil sie durch eine andere Überprüfung verzögert wurde), wird die Genehmigung für die Geschäftszeiten automatisch zurückgezogen und eine erneute Bewertung für den nächsten Tag geplant. Die Überprüfung ist nicht erfolgreich, wenn die Ausführung der Phase nicht innerhalb des für die Überprüfung angegebenen Timeouts beginnt. In diesem Fall wird die Phase als nicht erfolgreich gekennzeichnet.

Azure-Funktion aufrufen

Azure-Funktionen sind die von Azure bereitgestellte serverlose Berechnungsplattform. Mit Azure-Funktionen können kleine Codeelemente (Funktionen) ausgeführt werden, ohne sich Gedanken über die Anwendungsinfrastruktur machen zu müssen. Dank ihrer hohen Flexibilität eignen sich Azure-Funktionen sehr gut für die Erstellung eigener Überprüfungen. Sie können die Logik der Azure-Eincheckfunktion so integrieren, dass jede Ausführung bei einer HTTP-Anforderung ausgelöst wird, eine kurze Ausführungszeit hat und eine Antwort zurückgibt. Beim Definieren der Überprüfung können Sie den Antworttext parsen, um den Erfolg der Überprüfung abzuleiten. Sie können die Einstellung für die Zeit zwischen Auswertungen in den Steuerungsoptionen verwenden, um die Auswertung regelmäßig zu wiederholen. Weitere Informationen

Konfigurieren der Azure-Funktionsüberprüfung

Wenn Ihre Überprüfung nicht innerhalb des konfigurierten Timeouts erfolgreich ist, wird die zugeordnete Phase übersprungen. Davon abhängige Phasen werden ebenfalls übersprungen. Weitere Informationen finden Sie in der Azure Function App-Aufgabe.

Hinweis

Auf benutzerdefinierte Pipelinevariablen kann ab Sprint 215 zugegriffen werden.

Weitere Informationen zur empfohlenen Verwendung von Überprüfungen des Typs „Azure Functions aufrufen“. Prüfungen müssen je nach Modus und Anzahl der Wiederholungen bestimmte Regeln zur Compliance einhalten.

REST-API aufrufen

Die Überprüfung „REST-API aufrufen“ ermöglicht die Integration in jeden Ihrer vorhandenen Dienste. Rufen Sie in regelmäßigen Abständen eine REST-API auf, und fahren Sie fort, wenn eine Erfolgsantwort zurückgegeben wird. Weitere Informationen

Sie können die Einstellung für die Zeit zwischen Auswertungen in den Steuerungsoptionen verwenden, um die Auswertung regelmäßig zu wiederholen. Wenn Ihre Überprüfung nicht innerhalb des konfigurierten Timeouts erfolgreich ist, wird die zugeordnete Phase übersprungen. Davon abhängige Phasen werden ebenfalls übersprungen. Weitere Informationen finden Sie unter Aufrufen der REST-API-Aufgabe.

Hinweis

Auf benutzerdefinierte Pipelinevariablen kann ab Sprint 215 zugegriffen werden.

Weitere Informationen zur empfohlenen Verwendung von Überprüfungen für REST-API-Aufrufe.

Azure Monitor-Warnungen abfragen

Azure Monitor bietet Funktionen für die Visualisierung, Abfrage, Weiterleitung, Warnungserstellung, automatische Skalierung und Automatisierung für Daten aus der Azure-Infrastruktur sowie aus jeder einzelnen Azure-Ressource. Warnungen werden üblicherweise verwendet, um Integritätsprobleme im Zusammenhang mit der Infrastruktur oder Anwendung zu erkennen und Korrekturmaßnahmen zu ergreifen. Canary-Bereitstellungen und gestaffelte Rollouts sind gängige Bereitstellungsstrategien, die dazu dienen, das Risiko von Regressionen für kritische Anwendungen zu verringern. Nach der Bereitstellung in einer Phase (Gruppe von Kund*innen) wird die Anwendung für einen bestimmten Zeitraum beobachtet. Auf der Grundlage der Integrität der Anwendung nach der Bereitstellung wird entschieden, ob das Update in der nächsten Phase angewendet werden soll.

Durch Abfragen von Azure Monitor-Warnungen können Sie Azure Monitor beobachten und sich vergewissern, dass nach einer Bereitstellung keine Warnungen für die Anwendung ausgelöst werden. Die Überprüfung ist erfolgreich, wenn zum Zeitpunkt der Auswertung keine Warnungsregeln aktiviert sind. Weitere Informationen

Die Auswertung wird nach der in den Steuerungsoptionen festgelegten Zeit zwischen Auswertungen wiederholt. Die Überprüfungen sind nicht erfolgreich, wenn die Ausführung der Phase nicht innerhalb des Timeouts gestartet wurde.

Erforderliche Vorlage

Mit der Überprüfung „Erforderliche Vorlage“ können Sie für Pipelines die Verwendung einer bestimmten YAML-Vorlage erzwingen. Wenn diese Überprüfung eingerichtet ist, ist eine Pipeline nicht erfolgreich, wenn sie nicht über die referenzierte Vorlage erweitert wird.

So definieren Sie eine erforderliche Vorlagengenehmigung

  1. Navigieren Sie in Ihrem Azure DevOps-Projekt zu der Dienstverbindung, die Sie einschränken möchten.

  2. Öffnen Sie im Menü neben Bearbeiten die Option Genehmigungen und Überprüfungen.

  3. Wählen Sie im Menü Erste Überprüfung hinzufügen die Option Erforderliche Vorlage aus.

  4. Geben Sie Details zur Datei Ihrer erforderlichen Vorlage an:

    • Repositorytyp: Der Speicherort Ihres Repositorys (GitHub, Azure oder Bitbucket).
    • Repository: Der Name des Repositorys, das Ihre Vorlage enthält.
    • Referenz: Der Branch oder das Tag der erforderlichen Vorlage.
    • Pfad zur erforderlichen Vorlage: Der Name Ihrer Vorlage.

Es können mehrere erforderliche Vorlagen für die gleiche Dienstverbindung vorhanden sein. In diesem Beispiel ist production_template.yaml die erforderliche Vorlage .

Konfigurieren der Überprüfung „Erforderliche Vorlage“

Deaktivieren einer Prüfung

Beim Debuggen einer Prüfung möchten Sie die Überprüfung möglicherweise vorübergehend deaktivieren und dann erneut aktivieren. So deaktivieren oder aktivieren Sie eine Überprüfung:

  1. Wechseln Sie in Ihrem Azure DevOps-Projekt mit einer Überprüfung zur Ressource.

  2. Öffnen Sie die Registerkarte Genehmigungen und Prüfungen.

  3. Wählen Sie im Kontextmenü die Option Deaktivieren oder Aktivieren aus.

    Screenshot zum Deaktivieren einer Prüfoption.

Überbrückung einer Prüfung

Unter bestimmten Umständen, z. B. einer Hotfix-Bereitstellung, müssen Sie möglicherweise eine Überprüfung umgehen. Sie können eine Überprüfung nur umgehen, wenn Sie über die Administratorberechtigung für die Ressource verfügen, in der die Überprüfung definiert ist.

Um eine Genehmigung, Geschäftszeiten, Azure Functions aufzurufen oder REST-API-Überprüfung aufzurufen, aktivieren Sie Überprüfung umgehen, wenn die Ressource auf die Bewertung wartet. Hier ist ein Beispiel für die Umgehung der Überprüfung der Geschäftszeiten.

Screenshot der Prüfoption „Geschäftszeiten umgehen“.

Wenn Sie eine Prüfung umgehen, sehen Sie, wer das Check In im Kontrollbereich umgangen hat.

Screenshot des Protokolls der umgangenen Überprüfung.

Artefakt auswerten

Sie können Artefakte, die in einer Umgebung bereitgestellt werden sollen, anhand angepasster Richtlinien auswerten.

Hinweis

Dies funktioniert derzeit nur mit Containerimageartefakten.

Um eine angepasste Richtlinie zur Bewertung der Artefakte zu definieren, führen Sie die folgenden Schritte aus.

  1. Navigieren Sie in Ihrem Azure DevOps Services-Projekt zu der Umgebung, die geschützt werden soll. Weitere Informationen zum Erstellen einer Umgebung finden Sie hier.

    Anzeigen der Umgebung

  2. Navigieren Sie zu Genehmigungen und Prüfungen für die Umgebung.

    Hinzufügen von Überprüfungen zur Umgebung

  3. Wählen Sie Artefakt auswerten aus.

    Hinzufügen der Überprüfung „Artefakt auswerten“

  4. Fügen Sie die Definition der Richtlinie ein, und wählen Sie Speichern aus. Weitere Informationen zur Erstellung von Richtliniendefinitionen finden Sie hier.

    Hinzufügen der Richtliniendefinition

Wenn Sie eine Pipeline ausführen, wird die Ausführung angehalten, bevor sie in eine Phase eintritt, in der die Umgebung verwendet wird. Die angegebene Richtlinie wird anhand der verfügbaren Imagemetadaten ausgewertet. Die Überprüfung wird bestanden, wenn die Richtlinie erfüllt ist. Andernfalls ist sie nicht erfolgreich. Ist die Überprüfung nicht erfolgreich, wird die Phase ist als nicht erfolgreich gekennzeichnet.

Anzeigen bestandener Überprüfungen

Sie können auch die vollständigen Protokolle der Richtlinienüberprüfungen in der Pipelineansicht anzeigen.

Anzeigen der Protokolle bestandener Überprüfungen

Exklusive Sperre

Die Überprüfung Exklusive Sperre lässt nur eine einzige Ausführung aus der Pipeline zu und kann auf Stufen- oder Pipelineebene festgelegt werden. Alle Phasen in allen Ausführungen dieser Pipeline, die die Ressource verwenden, werden angehalten. Nach Abschluss der Phase mit der Sperre kann die Ressource von einer anderen Phase verwendet werden. Es ist außerdem nur eine Stufe zum Fortfahren zulässig.

Die Eigenschaft lockBehavior bestimmt, wie andere Stufen Sperren behandeln. Wenn Sie die Eigenschaft lockBehavior für eine Stufe angeben, wird automatisch eine Sperre für diese Stufe erstellt. Es gibt zwei mögliche lockBehavior-Werte:

  • runLatest: Nur die neueste Ausführung erhält die Sperre für die Ressource. runLatest ist die Standardeinstellung, wenn lockBehavior nicht angegeben ist.
  • sequential: Alle Ausführungen erhalten der Reihe nach die Sperre für die geschützte Ressource.

Führen Sie die folgenden Schritte aus, um die Überprüfung „Exklusive Sperre“ mit sequential Bereitstellungen oder mit runLatest zu verwenden:

  1. Aktivieren Sie die Überprüfung „Exklusive Sperre“ für die Umgebung (oder für eine andere geschützte Ressource). Die exklusive Sperroption ist eine verfügbare Überprüfung.

    Screenshot der exklusiven Sperroption auf der Registerkarte „Genehmigungen“.

  2. Geben Sie in der YAML-Datei für die Pipeline eine Eigenschaft mit dem Namen lockBehavior an. Diese kann für die gesamte Pipeline oder für eine bestimmte Phase angegeben werden:

Festlegen für eine Phase:

stages:
- stage: A
  lockBehavior: sequential
  jobs:
  - job: Job
    steps:
    - script: Hey!

Festlegen für die Pipeline:

lockBehavior: runLatest
stages:
- stage: A
  jobs:
  - job: Job
    steps:
    - script: Hey!

Wenn Sie kein lockBehavior angeben und eine Sperre für eine Ressource festgelegt ist, wird der Standardwert runLatest verwendet.

Die Überprüfung Exklusive Sperre sorgt dafür, dass nur eine einzelne Ausführung aus der Pipeline fortgesetzt werden kann. Alle Phasen in allen Ausführungen dieser Pipeline, die die Ressource verwenden, werden angehalten. Nach Abschluss der Phase mit der Sperre kann die Ressource von einer anderen Phase verwendet werden. Es ist außerdem nur eine Stufe zum Fortfahren zulässig. Andere Phasen, die versucht haben, die Sperre zu erhalten, werden abgebrochen.

ServiceNow Change Management

Für diese Überprüfungen muss die ServiceNow Change Management-Erweiterung aus dem Marketplace installiert werden.

Die Überprüfung ServiceNow Change Management ermöglicht die Integration des Change Management-Prozesses von ServiceNow in die Pipelines. Durch Hinzufügen der Überprüfung kann zu Beginn der Phase automatisch eine neue Änderungsanforderung in ServiceNow erstellt werden. Die Pipeline wartet mit dem Starten der Phase, bis der Änderungsprozess abgeschlossen ist. Weitere Details finden Sie hier.

Mehrere Genehmigungen und Überprüfungen

Eine Phase kann aus zahlreichen Aufträgen bestehen, und jeder Auftrag kann mehrere Ressourcen nutzen. Bevor die Ausführung einer Phase beginnen kann, müssen alle Überprüfungen für alle in dieser Phase genutzten Ressourcen bestanden worden sein. Azure Pipelines hält die Ausführung einer Pipeline vor jeder Phase an und wartet, bis alle ausstehenden Überprüfungen abgeschlossen sind.

Eine einzelne endgültige negative Entscheidung führt dazu, dass der Pipeline der Zugriff verweigert wird und die Phase nicht erfolgreich ist. Mit Ausnahme der Überprüfungen „Azure-Funktion aufrufen“ bzw. „REST-API aufrufen“ und Exklusive Sperre sind die Entscheidungen aller Genehmigungen und Überprüfungen endgültig. Sie können erfolgreiche Aufrufe der Azure-Funktion/REST-API-Prüfungen erneut ausführen.

Wenn Sie Überprüfungen vom Typ „Azure-Funktion aufrufen“ bzw. „REST-API aufrufen“ wie empfohlen verwenden, sind ihre Zugriffsentscheidungen ebenfalls endgültig.

Wenn Sie die Zeit zwischen Auswertungen für eine Überprüfung vom Typ „Azure-Funktion aufrufen“ bzw. „REST-API aufrufen“ auf einen Wert festlegen, der nicht null ist, ist die Entscheidung der Überprüfung nicht endgültig. Bei diesem Szenario lohnt sich eine genauere Betrachtung.

Ein Beispiel: Angenommen, Ihre YAML-Pipeline verfügt über eine Phase, die eine Dienstverbindung verwendet. Für diese Dienstverbindung sind zwei Überprüfungen konfiguriert:

  1. Eine asynchrone Überprüfung mit dem Namen External Approval Granted (Externe Genehmigung gewährt), die überprüft, ob eine externe Genehmigung erteilt wurde und wie empfohlen konfiguriert ist.
  2. Eine synchrone Überprüfung mit dem Namen Deployment Reason Valid (Bereitstellungsgrund gültig), die überprüft, ob der Bereitstellungsgrund gültig ist, und für die Sie die Zeit zwischen Auswertungen auf sieben Minuten festlegen.

Das folgende Diagramm zeigt eine mögliche Überprüfungsausführung: Diagramm, das die Zeitachse der Ausführungen einer asynchronen und einer synchronen Überprüfung zeigt.

In dieser Ausführung gilt Folgendes:

  • Beide Überprüfungen – External Approval Granted (Externe Genehmigung gewährt) und Deployment Reason Valid (Bereitstellungsgrund gültig) – werden gleichzeitig aufgerufen. Die Überprüfung Deployment Reason Valid (Bereitstellungsgrund gültig) ist sofort nicht erfolgreich, aber da External Approval Granted (Externe Genehmigung gewährt) ausstehend ist, wird sie erneut durchgeführt.
  • Bei Minute 7 wird die Überprüfung Deployment Reason Valid (Bereitstellungsgrund gültig) erneut durchgeführt, und diesmal wird sie bestanden.
  • Bei Minute 15 gibt External Approval Granted (Externe Genehmigung gewährt) einen Aufruf mit einer erfolgreichen Entscheidung an Azure Pipelines zurück. Nun werden beide Überprüfungen bestanden, und die Pipeline kann mit der Bereitstellung der Phase fortfahren.

Im nächsten Beispiel werden zwei synchrone Überprüfungen verwendet. Angenommen, Ihre YAML-Pipeline verfügt über eine Phase, die eine Dienstverbindung verwendet. Für diese Dienstverbindung sind zwei Überprüfungen konfiguriert:

  1. Eine synchrone Überprüfung namens Sync Check 1 (Synchronisierungsüberprüfung 1), für die Sie die Zeit zwischen Auswertungen auf fünf Minuten festgelegt haben
  2. Eine synchrone Überprüfung namens Sync Check 2 (Synchronisierungsüberprüfung 2), für die Sie die Zeit zwischen Auswertungen auf sieben Minuten festgelegt haben

Das folgende Diagramm zeigt eine mögliche Überprüfungsausführung: Diagramm: Zeitachse der Ausführung von zwei synchronen Überprüfungen

In dieser Ausführung gilt Folgendes:

  • Beide Überprüfungen – Sync Check 1 (Synchronisierungsüberprüfung 1) und Sync Check 2 (Synchronisierungsüberprüfung 2) – werden gleichzeitig aufgerufen. Sync Check 1 (Synchronisierungsüberprüfung 1) wird bestanden, wird aber wiederholt, da Sync Check 2 (Synchronisierungsüberprüfung 2) nicht erfolgreich war.
  • Bei Minute 5 wird Sync Check 1 (Synchronisierungsüberprüfung 1) wiederholt, ist aber nicht erfolgreich und wird daher wiederholt.
  • Bei Minute 7 wird Sync Check 2 (Synchronisierungsüberprüfung 2) wiederholt und ist erfolgreich. Die Entscheidung, dass die Überprüfung bestanden wurde, ist sieben Minuten lang gültig. Wenn Sync Check 1 (Synchronisierungsüberprüfung 1) nicht innerhalb dieses Zeitintervalls bestanden wird, wird Sync Check 2 (Synchronisierungsüberprüfung 2) wiederholt.
  • Bei Minute 10 wird Sync Check 1 (Synchronisierungsüberprüfung 1) wiederholt, ist aber nicht erfolgreich und wird daher wiederholt.
  • Bei Minute 14 wird Sync Check 2 (Synchronisierungsüberprüfung 2) wiederholt und ist erfolgreich. Die Entscheidung, dass die Überprüfung bestanden wurde, ist sieben Minuten lang gültig. Wenn Sync Check 1 (Synchronisierungsüberprüfung 1) nicht innerhalb dieses Zeitintervalls bestanden wird, wird Sync Check 2 (Synchronisierungsüberprüfung 2) wiederholt.
  • Bei Minute 15 wird Sync Check 1 (Synchronisierungsüberprüfung 1) wiederholt und ist erfolgreich. Nun werden beide Überprüfungen bestanden, und die Pipeline kann mit der Bereitstellung der Phase fortfahren.

Nun folgt noch ein Beispiel mit einer Genehmigung und einer synchronen Überprüfung. Angenommen, Sie verfügen über eine synchrone Überprüfung und über eine Genehmigung für eine Dienstverbindung, für die die Zeit zwischen Auswertungen auf fünf Minuten festgelegt ist. Bis zur Genehmigung wird Ihre Prüfung alle 5 Minuten ausgeführt, unabhängig von der Entscheidung.

Häufig gestellte Fragen

Die definierten Prüfungen wurden nicht gestartet. Was ist passiert?

Die Auswertung der Überprüfungen beginnt, wenn die Phasenbedingungen erfüllt sind. Vergewissern Sie sich, dass die Ausführung der Phase gestartet wurde, nachdem die Überprüfungen für die Ressource hinzugefügt wurden, und dass die Ressource in der Phase genutzt wird.

Wie kann ich Überprüfungen zum Planen einer Phase verwenden?

Mithilfe der Überprüfung „Geschäftszeiten“ können Sie den Startzeitpunkt für die Phasenausführung steuern. Sie können das gleiche Verhalten wie ein vordefinierter Zeitplan für eine Phase in Designer-Releases erzielen.

Wie kann ich Vorabgenehmigungen für eine Phase verwenden, deren Ausführung für die Zukunft geplant ist?

Dieses Szenario kann aktiviert werden.

  1. Mithilfe der Überprüfung „Geschäftszeiten“ kann für alle Phasen, die eine Bereitstellung für eine Ressource durchführen, eine Ausführung innerhalb des Zeitfensters geplant werden.
  2. Wenn Genehmigungen für die gleiche Ressource konfiguriert sind, wartet die Phase vor dem Start auf Genehmigungen.
  3. Sie können beide Überprüfungen für eine Ressource konfigurieren. Die Phase wartete auf Genehmigungen und Geschäftszeiten. Sie beginnt im nächsten geplanten Zeitfenster nach Abschluss der Genehmigungen.

Kann ich auf den Abschluss der Sicherheitsüberprüfung für das bereitzustellende Artefakt warten?

Wenn Sie auf den Abschluss der Sicherheitsüberprüfung für das bereitzustellende Artefakt warten möchten, müssen Sie einen externen Überprüfungsdienst wie AquaScan verwenden. Das bereitgestellte Artefakt muss vor Beginn der Überprüfungen an einem Speicherort hochgeladen werden, auf den der Überprüfungsdienst zugreifen kann, und kann mithilfe vordefinierter Variablen identifiziert werden. Mithilfe der Überprüfung „Rest-API aufrufen“ können Sie eine Überprüfung hinzufügen, um auf die API im Sicherheitsdienst zu warten, und den Artefaktbezeichner als Eingabe übergeben.

Wie kann ich Ausgabevariablen aus früheren Phasen einer Überprüfung verwenden?

Standardmäßig sind nur vordefinierte Variablen für Überprüfungen verfügbar. Sie können eine verknüpfte Variablengruppe verwenden, um auf andere Variablen zuzugreifen. Die Ausgabevariable aus der vorherigen Phase kann in die Variablengruppe geschrieben werden. In der Überprüfung kann darauf zugegriffen werden.

Weitere Informationen