Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Bedingungen für eine Phase konfigurieren
Sie können eine Bedingung für eine Phase angeben, indem Sie beispielsweise im Pipeline-Lauf nach einer bestimmten Variablen suchen, und dann ein Ergebnis für die Bedingung eingeben, z. B. das Überspringen der Phase oder das Nichtbestehen der Phase. Eine Pipeline kann eingerichtet werden, um während des Durchlaufs nach Phasenbedingungen zu suchen. Dabei geben Sie Prüfungen für eine Phase an und geben dann an, wie die Phase fortgesetzt werden soll, wenn bestimmte Bedingungen erfüllt sind. Bedingungen enthalten eine oder mehrere Regeln, die in einer Liste von Regeln in verfügbar sind CodePipeline. Wenn alle Regeln in einer Bedingung erfolgreich sind, ist die Bedingung erfüllt. Sie können Bedingungen so konfigurieren, dass das angegebene Ergebnis aktiviert wird, wenn die Kriterien nicht erfüllt sind.
Jede Bedingung hat einen Regelsatz, bei dem es sich um einen geordneten Satz von Regeln handelt, die zusammen ausgewertet werden. Wenn also eine Regel in der Bedingung fehlschlägt, schlägt die Bedingung fehl. Sie können die Regelbedingungen zur Laufzeit der Pipeline überschreiben.
Bedingungen werden für bestimmte Arten von Ausdrücken verwendet, und für jeden gibt es spezifische Optionen für Ergebnisse, die wie folgt verfügbar sind:
-
Eingabe — Die Bedingungen für die Durchführung von Prüfungen, die, wenn sie erfüllt sind, den Eintritt in eine Phase ermöglichen. Die Regeln sind mit den folgenden Ergebnisoptionen verknüpft: Fehlgeschlagen oder Überspringen
-
Bei Misserfolg — Die Bedingungen, unter denen Prüfungen für die Phase durchgeführt werden, wenn sie fehlschlägt. Regeln verwenden die folgende Ergebnisoption: Rollback
-
Bei Erfolg — Die Bedingungen, unter denen überprüft wird, ob die Phase erfolgreich abgeschlossen ist. Regeln werden mit den folgenden Ergebnisoptionen aktiviert: Rollback oder Fail
Bedingungen werden durch eine Reihe von Regeln für jeden Bedingungstyp unterstützt.
Für jeden Bedingungstyp gibt es spezifische Aktionen, die durch die Bedingung eingerichtet werden. Die Aktion ist das Ergebnis der erfolgreichen oder fehlgeschlagenen Zustandsprüfung. Beispiel: Die Bedingung für den Eintritt (Eingangsbedingung) trifft auf einen Alarm (Regel), dann ist die Prüfung erfolgreich und das Ergebnis (Aktion) ist, dass der Stufeneintrag blockiert ist.
Sie können auch die AWS CodePipeline Konsole oder die verwenden AWS CLI , um eine Stufe oder Aktionen in einer Phase manuell rückgängig zu machen oder erneut zu versuchen. Siehe Bedingungen für eine Phase konfigurieren.
Themen
Anwendungsfälle für Bühnenbedingungen
Stufenbedingungen haben mehrere Anwendungsfälle für die Einrichtung der Freigabe- und Wechselsicherheit in Rohrleitungen. Im Folgenden finden Sie Beispiele für Anwendungsfälle für Stufenbedingungen.
-
Verwenden Sie eine Eingabebedingung, um eine Bedingung zu definieren, die den CloudWatch Alarmstatus überprüft. Eine Änderung wird dann blockiert, wenn sich die Produktionsumgebung nicht in einem fehlerfreien Zustand befindet.
-
Verwenden Sie eine Entry-Bedingung mit einer Wartezeit von 60, um eine Bedingung zu definieren, die bewertet wird, wenn alle Aktionen in einer Phase erfolgreich abgeschlossen wurden. Machen Sie die Änderungen dann rückgängig, wenn ein CloudWatch Alarm innerhalb von 60 Minuten in den ALARM-Zustand übergeht.
-
Verwenden Sie die Bedingung „Bei Erfolg“, um eine Bedingung zu definieren, sodass die Regel nach erfolgreichem Abschluss der Phase prüft, ob die aktuelle Uhrzeit im Bereitstellungsfenster liegt, und dann auslöst, wenn die Regel erfolgreich ist.
Überlegungen zu Ergebnissen, die für die Bedingungen der Phase konfiguriert wurden
Die folgenden Überlegungen zu den Stufenbedingungen lauten wie folgt:
-
Sie können die automatische Wiederholung von Phasen nicht mit OnFailure-Bedingungen verwenden.
-
Wenn Sie eine Bedingung mit einem Rollback-Ergebnis konfigurieren, kann die Phase nur dann zu einer früheren Ausführung zurückkehren, wenn sie in der aktuellen Pipeline-Strukturversion verfügbar ist.
-
Wenn Sie eine Bedingung mit einem Rollback-Ergebnis konfigurieren, können Sie nicht zu einer Zielausführungs-ID zurückkehren, bei der es sich um einen Rollback-Ausführungstyp handelt.
-
Bei Entry-Bedingungen, die das Skip-Ergebnis verwenden, um die Phase zu überspringen, falls die Bedingung fehlschlägt, werden nur die
LambdaInvokeVariableCheckUND-Regeln unterstützt. -
Sie können keinen manuellen Wiederholungsversuch für eine Phase mit dem Status Übersprungen durchführen.
-
Sie können keinen manuellen Rollback zu einer Phase mit dem Status Übersprungen durchführen.
-
Sie können eine Bedingung nicht überschreiben, wenn die Bedingung mit dem Ergebnis „Überspringen“ konfiguriert ist.
-
Mit Ausnahme von Skip-Ergebnissen können Sie eine Stufenbedingung überschreiben, wenn Sie eine Pipeline-Ausführung starten. Bei einer Stufenbedingung, bei der eine Überschreibung ausgelöst wird, erfolgt die Ausführung wie in der folgenden Tabelle beschrieben.
-
Typ Konfiguriertes Ergebnis bei Ausfall einer Bedingung Status der Phase Verhalten überschreiben Eintrag Fehler In-progress Die Phase geht weiter. Eintrag Überspringen Übersprungen Nicht zutreffend. OnFailure
Rollback Fehlgeschlagen Die Phase ist gescheitert. OnSuccess Rollback Erfolgreich Die Phase geht weiter. OnSuccess
Fehler Fehlgeschlagen Die Phase geht weiter.
Überlegungen zu Regeln, die für die Bedingungen der Phase konfiguriert sind
Die folgenden Überlegungen zu den verfügbaren Regeln für Stufenbedingungen lauten wie folgt:
-
Für die
LambdaInvokeRegel müssen Sie zuerst die Lambda-Funktion so konfigurieren, dass sie in der Regel verwendet wird. Halten Sie den ARN der Lambda-Funktion bereit, ihn bereitzustellen, wenn Sie die Regel konfigurieren. -
Für die
CloudWatchAlarmRegel müssen Sie zuerst das Ereignis CloudWatch Ereignisse so konfigurieren, dass es in der Regel verwendet werden soll. Halten Sie den Event-ARN bereit, damit Sie ihn angeben können, wenn Sie die Regel konfigurieren.
Zugangsbedingungen erstellen
Sie können die Eingabebedingungen für eine Phase mithilfe der Konsole oder der CLI konfigurieren. Sie konfigurieren die entsprechenden Regeln und Ergebnisse für jede Bedingung. Bei einem Rollback-Ergebnis kann die Pipeline nur dann zu einer früheren Ausführung zurückkehren, wenn die vorherige Ausführung in der aktuellen Pipeline-Strukturversion gestartet wurde.
Die Schritte enthalten ein Beispiel für eine Eingabebedingung, die eine Überwachungsregel verwendet.
Weitere Informationen finden Sie unter Condition und RuleExecution im CodePipeline API-Handbuch. RuleTypeId
Eingabebedingungen erstellen — Beispiel für eine CloudWatchAlarm Regel (Konsole)
Sie können die Eingabebedingungen für eine Phase zusammen mit den Regeln und Ergebnissen konfigurieren, die die Phase ausführen soll, wenn die Bedingungen erfüllt sind.
Konfigurieren Sie eine Eingabebedingung (Konsole)
-
Erfüllen Sie alle Voraussetzungen, z. B. das Erstellen der Ressource und des ARN für eine Regel, in der AWS CloudWatchAlarm eine Ressource bereitgestellt wird, wie z. B.
-
Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CodePipeline Konsole unter http://console.aws.amazon.com/codesuite/codepipeline/home
. Die Namen und der Status aller Pipelines, die mit Ihrer verknüpft AWS-Konto sind, werden angezeigt.
-
Wählen Sie im Feld Name den Namen der Pipeline aus, die Sie bearbeiten möchten.
-
Wählen Sie auf der Pipelinedetails-Seite Edit aus.
-
Wählen Sie auf der Seite „Bearbeiten“ für die Aktion, die Sie bearbeiten möchten, die Option Phase bearbeiten aus.
-
Wählen Sie Eingabebedingung hinzufügen aus. Die Karte mit den Bedingungen vor dem Eintritt in die Phase wird angezeigt. Für diese Bedingung ist die Option Fehlgeschlagen verfügbar.
-
Wählen Sie Regel hinzufügen aus, und gehen Sie dann wie folgt vor.
-
Geben Sie im Feld Regelname einen Namen für Ihre Regel ein. Geben Sie für dieses Beispiel
MyAlarmRuleein. -
Wählen Sie unter Regelanbieter den vorkonfigurierten Regelanbieter aus, der zu Ihrer Bedingung hinzugefügt werden soll. Wählen Sie für dieses Beispiel aus AWS CloudWatchAlarm, und führen Sie dann die folgenden Schritte aus.
-
Wählen Sie unter Region die Region für Ihre Erkrankung aus, oder belassen Sie die Standardeinstellung.
-
Wählen Sie unter Alarmname die CloudWatch Ressource aus, die für die Regel verwendet werden soll. Sie müssen die Ressource bereits in Ihrem Konto erstellt haben.
-
(Optional) Geben Sie im Feld Wartezeit die Wartezeit ein, wenn CodePipeline sich der Alarm bei der ersten Auswertung im ALARM-Zustand befindet. Wenn der Alarm bei der ersten Überprüfung der Regel den Status OK hat, hat die Regel sofort Erfolg.
-
(Optional) Geben Sie alle spezifischen Alarmzustände ein, die überwacht werden sollen, und geben Sie gegebenenfalls den Rollen-ARN ein.
-
Wenn Sie mit der Bearbeitung der Phase fertig sind, wählen Sie Fertig aus. Wählen Sie auf der Pipeline-Bearbeitungsseite Speichern aus.
-
-
Sehen Sie sich nach dem Lauf das Ergebnis an.
Eingabebedingungen mit Ergebnis und VariableCheck Regel überspringen (Konsole) erstellen
Sie können die Eintrittsbedingungen für eine Phase so konfigurieren, dass die Phase übersprungen wird, wenn die Einstiegsbedingung nicht erfüllt ist. Wenn die Bedingung nicht erfüllt ist, wird das Ergebnis aktiviert und die Phase wird übersprungen. Wenn eine Phase übersprungen wird, lautet der Status Übersprungen und der Aktionsstatus lautet Nicht ausgeführt. Überlegungen zu Phasenbedingungen mit Ergebnissen vom Typ „Überspringen“ finden Sie unter. Überlegungen zu Ergebnissen, die für die Bedingungen der Phase konfiguriert wurden
Im folgenden Beispiel stellt die Regel zur Variablenüberprüfung fest, dass der Wert nicht übereinstimmt, und die Erstellungsphase wird übersprungen.
Konfigurieren Sie eine Eingabebedingung mit einer Überspringen Ergebnis (Konsole)
-
Erfüllen Sie alle Voraussetzungen, z. B. das Erstellen der Ressource und des ARN für eine Regel, in der AWS CloudWatchAlarm eine Ressource bereitgestellt wird, wie z. B.
-
Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CodePipeline Konsole unter http://console.aws.amazon.com/codesuite/codepipeline/home
. Die Namen und der Status aller Pipelines, die mit Ihrer verknüpft AWS-Konto sind, werden angezeigt.
-
Wählen Sie im Feld Name den Namen der Pipeline aus, die Sie bearbeiten möchten.
-
Wählen Sie auf der Pipelinedetails-Seite Edit aus.
-
Wählen Sie auf der Seite „Bearbeiten“ für die Aktion, die Sie bearbeiten möchten, die Option Phase bearbeiten aus.
-
Wählen Sie Eingabebedingung hinzufügen und wählen Sie dann als Ergebnis Überspringen aus.
-
Wählen Sie Regel hinzufügen aus, und gehen Sie dann wie folgt vor.
-
Geben Sie im Feld Regelname einen Namen für Ihre Regel ein. Geben Sie für dieses Beispiel
MyAlarmRuleein. -
Wählen Sie unter Regelanbieter den vorkonfigurierten Regelanbieter aus, der zu Ihrer Bedingung hinzugefügt werden soll. Wählen Sie für dieses Beispiel aus VariableCheck, und führen Sie dann die folgenden Schritte aus.
-
Wählen Sie unter Region die Region für Ihre Erkrankung aus oder belassen Sie die Standardeinstellung.
-
Wählen Sie unter Variable die Variable aus, mit der Sie vergleichen möchten, z. B.
#{SourceVariables.FullRepositoryName}für eine Pipeline, die über eine Quellaktion GitHub (per GitHub App) verfügt. Geben Sie den Repository-Namen ein und wählen Sie den Operator aus, z. B. Equals. -
Wenn Sie mit der Bearbeitung der Stufe fertig sind, wählen Sie Fertig aus. Wählen Sie auf der Pipeline-Bearbeitungsseite Speichern aus.
-
-
Sehen Sie sich nach dem Lauf das Ergebnis an.
-
Um die Details zu überprüfen, wählen Sie Überprüfen. Das Detail im folgenden Beispiel zeigt, dass das konfigurierte Ergebnis für die Bedingung „Überspringen“ lautet. Dieses Ergebnis kann nicht außer Kraft gesetzt werden. Der Regelstatus lautet Fehlgeschlagen, da die Bedingung nicht erfüllt ist.
Eingabebedingungen erstellen (CLI)
Um die zur Konfiguration einer Eingabebedingung AWS CLI zu verwenden, verwenden Sie die Befehle, um eine Pipeline zu erstellen oder zu aktualisieren, wie in Erstellen Sie eine Pipeline, Stufen und Aktionen und beschriebenEine Pipeline bearbeiten in CodePipeline.
Konfigurieren Sie die Bedingung und die Regel oder Regeln (CLI)
-
Öffnen Sie ein Terminal (Linux, macOS oder Unix) oder eine Eingabeaufforderung (Windows) und verwenden Sie die, AWS CLI um den
update-pipelineBefehl auszuführen. Geben Sie dabei die Fehlerbedingung in der Pipeline-Struktur an. Im folgenden Beispiel wird eine Entry-Bedingung für eine Stufe mit dem NamenDeploykonfiguriert:{ "name": "Deploy", "actions": [ { "name": "Deploy", "actionTypeId": { "category": "Deploy", "owner": "AWS", "provider": "S3", "version": "1" }, "runOrder": 1, "configuration": { "BucketName": "MyBucket", "Extract": "false", "ObjectKey": "object.xml" }, "outputArtifacts": [], "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-east-1", "namespace": "DeployVariables" } ],"beforeEntry": { "conditions": [ { "result": "FAIL", "rules": [ { "name": "MyAlarmRule", "ruleTypeId": { "category": "Rule", "owner": "AWS", "provider": "CloudWatchAlarm", "version": "1" }, "configuration": { "AlarmName": "CWAlarm", "WaitTime": "1" }, "inputArtifacts": [], "region": "us-east-1" } ] } ] }}Weitere Informationen zur Konfiguration der Erfolgsbedingungen für das Phase-Rollback finden Sie SuccessConditions in der CodePipeline API-Referenz.
Zugangsbedingungen (CFN) erstellen
Verwenden Sie den beforeEntry Parameter, CloudFormation um eine Eingabebedingung zu konfigurieren. Bei der Eingabe führt die Stufe die Regel aus und führt das Ergebnis aus.
beforeEntry: Result: FAIL
-
Aktualisieren Sie die Vorlage wie im folgenden Codeausschnitt gezeigt. Im folgenden Beispiel wird eine Entry-Bedingung mit einer Regel namens konfiguriert:
MyMonitorRuleName: Deploy Actions: - Name: Deploy ActionTypeId: Category: Deploy Owner: AWS Provider: S3 Version: '1' RunOrder: 1 Configuration: BucketName: MyBucket Extract: 'false' ObjectKey: object.xml OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-east-1 Namespace: DeployVariables BeforeEntry: Conditions: - Result: FAIL Rules: - Name: MyMonitorRule RuleTypeId: Category: Rule Owner: AWS Provider: CloudWatchAlarm Version: '1' Configuration: AlarmName: CWAlarm WaitTime: '1' InputArtifacts: [] Region: us-east-1Weitere Informationen zur Konfiguration von BeforeEntry-Bedingungen finden Sie BeforeEntryConditions unter AWS::CodePipeline: :Pipeline
StageDeclarationim CloudFormation Benutzerhandbuch.
Bedingungen bei Ausfall erstellen
Sie können die On-Failure-Bedingungen für eine Phase mithilfe der Konsole oder der CLI konfigurieren. Sie konfigurieren die entsprechenden Regeln und Ergebnisse für jede Bedingung. Bei einem Rollback-Ergebnis kann die Pipeline nur dann zu einer früheren Ausführung zurückkehren, wenn die vorherige Ausführung in der aktuellen Pipeline-Strukturversion gestartet wurde.
Bedingungen bei Ausfall erstellen (Konsole)
Sie können die Bedingungen für den Fall eines Fehlers für eine Phase zusammen mit den Regeln und Ergebnissen konfigurieren, die die Phase ausführen soll, wenn die Bedingungen erfüllt sind.
Konfigurieren Sie die Bedingung „Bei Ausfall“ (Konsole)
-
Erfüllen Sie alle Voraussetzungen, z. B. das Erstellen der Ressource und des ARN für eine Regel, in der eine Ressource bereitgestellt wird, wie z. B. die LambdaInvoke Regel.
-
Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CodePipeline Konsole unter http://console.aws.amazon.com/codesuite/codepipeline/home
. Die Namen und der Status aller Pipelines, die mit Ihrer verknüpft AWS-Konto sind, werden angezeigt.
-
Wählen Sie im Feld Name den Namen der Pipeline aus, die Sie bearbeiten möchten.
-
Wählen Sie auf der Pipelinedetails-Seite Edit aus.
-
Wählen Sie auf der Seite „Bearbeiten“ für die Aktion, die Sie bearbeiten möchten, die Option Phase bearbeiten aus.
-
Wählen Sie Fehlerbedingung hinzufügen aus. Die Karte mit den Fehlerbedingungen wird mit der Rollback-Option angezeigt, die für diesen Zustand verfügbar ist.
-
Wählen Sie Regel hinzufügen aus, und gehen Sie dann wie folgt vor.
-
Geben Sie im Feld Regelname einen Namen für Ihre Regel ein. Geben Sie für dieses Beispiel
MyLambdaRuleein. -
Wählen Sie unter Regelanbieter den vorkonfigurierten Regelanbieter aus, der zu Ihrer Bedingung hinzugefügt werden soll. Wählen Sie für dieses Beispiel aus AWS LambdaInvoke, und führen Sie dann die folgenden Schritte aus.
-
Wählen Sie unter Region die Region für Ihre Erkrankung aus, oder belassen Sie die Standardeinstellung.
-
Wählen Sie unter Eingabe-Artefakte das Quell-Artefakt aus.
-
Wählen Sie unter Funktionsname die Lambda-Ressource aus, die für die Regel verwendet werden soll. Sie müssen die Ressource bereits in Ihrem Konto erstellt haben.
-
(Optional) Geben Sie im Feld Benutzerparameter alle Paare ein, die Parameter für zusätzliche Konfigurationen darstellen.
-
(Optional) Geben Sie im Feld Role Arn den Rollen-ARN ein, sofern konfiguriert.
-
(Optional) Geben Sie im Feld Timeout in Minuten die Zeit in Minuten ein, die die Regel vor dem Timeout warten soll.
-
Wenn Sie mit der Bearbeitung der Phase fertig sind, wählen Sie Fertig aus. Wählen Sie auf der Pipeline-Bearbeitungsseite Speichern aus.
-
Erstellen von OnFailure-Bedingungen mit einem Wiederholungsergebnis (Beispiel) (Konsole)
Sie können die OnFailure-Bedingungen für eine Stufe so konfigurieren, dass die Phase erneut versucht wird, wenn die Eingabebedingung nicht erfüllt ist. Als Teil dieses Ergebnisses konfigurieren Sie den Wiederholungsmodus und geben an, ob die fehlgeschlagenen Aktionen oder die fehlgeschlagene Phase erneut versucht werden sollen.
Konfigurieren Sie eine OnFailure-Bedingung mit einem Wiederholungsergebnis (Konsole)
-
Erfüllen Sie alle Voraussetzungen, z. B. das Erstellen der Ressource und des ARN für eine Regel, in der eine Ressource bereitgestellt wird, z. B. AWS CloudWatchAlarm
-
Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CodePipeline Konsole unter http://console.aws.amazon.com/codesuite/codepipeline/home
. Die Namen und der Status aller Pipelines, die mit Ihrer verknüpft AWS-Konto sind, werden angezeigt.
-
Wählen Sie im Feld Name den Namen der Pipeline aus, die Sie bearbeiten möchten.
-
Wählen Sie auf der Pipelinedetails-Seite Edit aus.
-
Wählen Sie auf der Seite „Bearbeiten“ für die Aktion, die Sie bearbeiten möchten, die Option Phase bearbeiten aus.
-
Wählen Sie unten in der Phase unter Automatisierte Stufenkonfiguration: die Option Automatische Wiederholung bei Stufenausfall aktivieren aus. Wählen Sie im Modus „Wiederholen“ entweder „Fehlgeschlagene Phase wiederholen“ oder „Fehlgeschlagene Aktionen wiederholen“.
-
Wählen Sie, ob Sie eine OnFailure-Bedingung hinzufügen möchten, und wählen Sie dann Regel hinzufügen und geben Sie eine Regel für die Bedingung ein.
-
Geben Sie im Feld Regelname einen Namen für Ihre Regel ein. Geben Sie für dieses Beispiel
MyAlarmRuleein. -
Wählen Sie unter Regelanbieter den vorkonfigurierten Regelanbieter aus, der zu Ihrer Bedingung hinzugefügt werden soll. Wählen Sie für dieses Beispiel aus CloudWatchAlarm, und führen Sie dann die folgenden Schritte aus.
-
Wählen Sie unter Region die Region für Ihre Erkrankung aus, oder belassen Sie die Standardeinstellung.
-
Wählen Sie unter Alarmname die konfigurierte Ressource für die Warnung aus.
-
Wenn Sie mit der Bearbeitung der Phase fertig sind, wählen Sie Fertig aus. Wählen Sie auf der Pipeline-Bearbeitungsseite Speichern aus.
-
-
Sehen Sie sich nach dem Lauf das Ergebnis an.
Bedingungen bei Ausfall erstellen (CLI)
Um die Bedingung „Bei Ausfall“ AWS CLI zu konfigurieren, verwenden Sie die Befehle, um eine Pipeline zu erstellen oder zu aktualisieren, wie unter Erstellen Sie eine Pipeline, Stufen und Aktionen und beschriebenEine Pipeline bearbeiten in CodePipeline.
Konfigurieren Sie die Bedingung und die Regel oder Regeln (CLI)
-
Öffnen Sie ein Terminal (Linux, macOS oder Unix) oder eine Eingabeaufforderung (Windows) und verwenden Sie die, AWS CLI um den
update-pipelineBefehl auszuführen. Geben Sie dabei die Fehlerbedingung in der Pipeline-Struktur an. Im folgenden Beispiel wird die Bedingung On Failure für eine Stufe mit dem NamenDeploykonfiguriert:{ "name": "Deploy", "actions": [ { "name": "Deploy", "actionTypeId": { "category": "Deploy", "owner": "AWS", "provider": "S3", "version": "1" }, "runOrder": 1, "configuration": { "BucketName": "MyBucket", "Extract": "false", "ObjectKey": "object.xml" }, "outputArtifacts": [], "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-east-1", "namespace": "DeployVariables" } ],"onFailure": { "conditions": [ { "result": "ROLLBACK", "rules": [ { "name": "MyLambdaRule", "ruleTypeId": { "category": "Rule", "owner": "AWS", "provider": "LambdaInvoke", "version": "1" }, "configuration": { "FunctionName": "my-function" }, "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-east-1" } ] } ] }}Weitere Informationen zur Konfiguration von Fehlerbedingungen finden Sie FailureConditions in der CodePipeline API-Referenz.
Bedingungen bei Ausfall erstellen (CFN)
Verwenden Sie CloudFormation den OnFailure Parameter, um eine On-Failure-Bedingung zu konfigurieren. Bei einem Fehler führt die Stufe die Regel aus und führt das Ergebnis aus.
OnFailure: Result: ROLLBACK
-
Aktualisieren Sie die Vorlage wie im folgenden Codeausschnitt gezeigt. Im folgenden Beispiel wird eine OnFailure Bedingung mit einer Regel namens konfiguriert:
MyMonitorRulename: Deploy actions: - name: Deploy actionTypeId: category: Deploy owner: AWS provider: S3 version: '1' runOrder: 1 configuration: BucketName: MyBucket Extract: 'false' ObjectKey: object.xml outputArtifacts: [] inputArtifacts: - name: SourceArtifact region: us-east-1 namespace: DeployVariables OnFailure: conditions: - result: ROLLBACK rules: - name: MyMonitorRule ruleTypeId: category: Rule owner: AWS provider: CloudWatchAlarm version: '1' configuration: AlarmName: AlarmOnHelloWorldInvocation AlarmStates: ALARM WaitTime: '1' inputArtifacts: [] region: us-east-1Weitere Informationen zur Konfiguration von Fehlerbedingungen finden Sie OnFailure unter
StageDeclarationim CloudFormation Benutzerhandbuch.
Bedingungen bei Erfolg erstellen
Sie können die On-Success-Bedingungen für eine Phase mithilfe der Konsole oder der CLI konfigurieren. Sie konfigurieren die entsprechenden Regeln und Ergebnisse für jede Bedingung. Bei einem Rollback-Ergebnis kann die Pipeline nur dann zu einer früheren Ausführung zurückkehren, wenn die vorherige Ausführung in der aktuellen Pipeline-Strukturversion gestartet wurde.
Die Schritte enthalten ein Beispiel für die Bedingung „Bei Erfolg“, die eine Regel für das Bereitstellungsfenster verwendet.
Weitere Informationen finden Sie unter Condition und RuleExecution im CodePipeline API-Handbuch. RuleTypeId
Bedingungen bei Erfolg erstellen (Konsole)
Sie können „Bei Erfolg“ -Bedingungen für eine Phase zusammen mit den Regeln und Ergebnissen konfigurieren, die die Phase ausführen soll, wenn die Bedingungen erfüllt sind.
Konfigurieren Sie eine On-Success-Bedingung (Konsole)
-
Erfüllen Sie alle Voraussetzungen, z. B. das Erstellen der Ressource und des ARN für eine Regel, in der AWS LambdaRule eine Ressource bereitgestellt wird, wie z. B.
-
Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CodePipeline Konsole unter http://console.aws.amazon.com/codesuite/codepipeline/home
. Die Namen und der Status aller Pipelines, die mit Ihrer verknüpft AWS-Konto sind, werden angezeigt.
-
Wählen Sie im Feld Name den Namen der Pipeline aus, die Sie bearbeiten möchten.
-
Wählen Sie auf der Pipelinedetails-Seite Edit aus.
-
Wählen Sie auf der Seite „Bearbeiten“ für die Aktion, die Sie bearbeiten möchten, die Option Phase bearbeiten aus.
-
Wählen Sie Erfolgsbedingung hinzufügen aus. Die Karte mit den Erfolgsbedingungen auf der Bühne wird angezeigt. Wählen Sie die Option Rollback oder Fail, die als verfügbare Ergebnisse für diesen Bedingungstyp angezeigt werden.
-
Wählen Sie Regel hinzufügen aus, und führen Sie dann die folgenden Schritte aus.
-
Geben Sie im Feld Regelname einen Namen für Ihre Bedingung ein. Geben Sie für dieses Beispiel
MyDeploymentRuleein. -
Wählen Sie unter Regelanbieter die vorkonfigurierte Regel aus, die Sie Ihrer Bedingung hinzufügen möchten. Wählen Sie für dieses Beispiel aus AWS DeploymentWindow, und führen Sie dann die folgenden Schritte aus.
-
Wählen Sie unter Region die Region für Ihre Erkrankung aus, oder belassen Sie die Standardeinstellung.
-
Geben Sie im Feld Cron den Cron-Ausdruck für das Bereitstellungsfenster ein. Der Cron-Ausdruck definiert die Tage und Uhrzeiten, an denen die Bereitstellung zulässig sein sollte. Referenzinformationen zu Cron-Ausdrücken finden Sie unter Verwenden von Cron- und Rate-Ausdrücken zum Planen von Regeln.
-
(Optional) Geben Sie TimeZone unter die Zeitzone für das Bereitstellungsfenster ein.
-
-
Sehen Sie sich nach dem Lauf das Ergebnis an.
Bedingungen bei Erfolg erstellen (CLI)
Um die Bedingung On Success AWS CLI zu konfigurieren, verwenden Sie die Befehle, um eine Pipeline zu erstellen oder zu aktualisieren, wie unter Erstellen Sie eine Pipeline, Stufen und Aktionen und beschriebenEine Pipeline bearbeiten in CodePipeline.
Konfigurieren Sie die Bedingung und die Regel oder Regeln (CLI)
-
Öffnen Sie ein Terminal (Linux, macOS oder Unix) oder eine Eingabeaufforderung (Windows) und verwenden Sie die, AWS CLI um den
update-pipelineBefehl auszuführen. Geben Sie dabei die Fehlerbedingung in der Pipeline-Struktur an. Im folgenden Beispiel wird eine On-Success-Bedingung für eine Stufe mit dem Namen konfiguriertDeploy, in der die Regel benanntMyDeploymentRuleist:{ "name": "Deploy", "actions": [ { "name": "Deploy", "actionTypeId": { "category": "Deploy", "owner": "AWS", "provider": "S3", "version": "1" }, "runOrder": 1, "configuration": { "BucketName": "MyBucket", "Extract": "false", "ObjectKey": "object.xml" }, "outputArtifacts": [], "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-east-1", "namespace": "DeployVariables" } ],"onSuccess": { "conditions": [ { "result": "FAIL", "rules": [ { "name": "MyAlarmRule", "ruleTypeId": { "category": "Rule", "owner": "AWS", "provider": "CloudWatchAlarm", "version": "1" }, "configuration": { "AlarmName": "CWAlarm", "WaitTime": "1" }, "inputArtifacts": [], "region": "us-east-1" } ] } ] } }Weitere Informationen zur Konfiguration von Erfolgsbedingungen finden Sie SuccessConditions in der CodePipeline API-Referenz.
Erstellen Sie eine On Success-Bedingung (CFN)
Verwenden Sie CloudFormation den OnSuccess Parameter, um eine On-Success-Bedingung zu konfigurieren. Bei Erfolg führt die Stufe die Regel aus und führt das Ergebnis aus.
OnSuccess: Result: ROLLBACK
-
Aktualisieren Sie die Vorlage wie im folgenden Codeausschnitt gezeigt. Im folgenden Beispiel wird eine OnSuccess Bedingung mit einer Regel namens konfiguriert:
MyDeploymentWindowRulename: Deploy actions: - name: Deploy actionTypeId: category: Deploy owner: AWS provider: S3 version: '1' runOrder: 1 configuration: BucketName: MyBucket Extract: 'false' ObjectKey: object.xml outputArtifacts: [] inputArtifacts: - name: SourceArtifact region: us-east-1 namespace: DeployVariablesonSuccess: conditions: - result: FAIL rules: - name: MyMonitorRule ruleTypeId: category: Rule owner: AWS provider: CloudWatchAlarm version: '1' configuration: AlarmName: CWAlarm WaitTime: '1' inputArtifacts: [] region: us-east-1Weitere Informationen zur Konfiguration von Fehlerbedingungen für das Stagen-Rollback finden Sie OnFailure unter
StageDeclarationim CloudFormation Benutzerhandbuch.
Stage-Bedingungen löschen
Sie können Phasenbedingungen löschen, die für Ihre Pipeline konfiguriert wurden.
Um eine Phasenbedingung zu löschen
-
Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CodePipeline Konsole unter http://console.aws.amazon.com/codesuite/codepipeline/home
. Die Namen und der Status aller Pipelines, die mit Ihrer verknüpft AWS-Konto sind, werden angezeigt.
-
Wählen Sie im Feld Name den Namen der Pipeline aus, die Sie bearbeiten möchten.
-
Wählen Sie auf der Pipelinedetails-Seite Edit aus.
-
Wählen Sie auf der Seite „Bearbeiten“ für die Bedingung, die Sie bearbeiten möchten, die Option Stufe bearbeiten aus.
-
Wählen Sie neben der Bedingung, die Sie löschen möchten, die Option Bedingung löschen aus.
Übergeordnete Stufenbedingungen
Sie können die Stufenbedingungen überschreiben, die für Ihre Pipeline konfiguriert wurden. Wenn die Phase und die Regel in der Konsole ausgeführt werden, können Sie wählen, ob Sie die Staging-Bedingung außer Kraft setzen möchten. Dies führt dazu, dass die Phase ausgeführt wird.
Um eine Stufenbedingung zu überschreiben
-
In diesem Beispiel wird die Pipeline-Phase mit einer Bedingung ausgeführt. Die Schaltfläche „Überschreiben“ ist aktiviert.
-
Wählen Sie neben der Bedingung, die Sie überschreiben möchten, die Option Überschreiben aus.
-
Um die Details zu überprüfen, wählen Sie Überprüfen. Das Detail im folgenden Beispiel zeigt, dass das konfigurierte Ergebnis für die Bedingung „Fehlgeschlagen“ lautet. Dieses Ergebnis wurde außer Kraft gesetzt. Der Regelstatus lautet aufgrund der Überschreibung aufgegeben.