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, z. B. die Überprüfung auf eine bestimmte Variable im Pipeline-Lauf, und dann ein Ergebnis für die Bedingung angeben, z. B. das Überspringen der Phase oder das Scheitern der Phase. Eine Pipeline kann so eingerichtet werden, dass sie während des Laufs nach Phasenbedingungen sucht. 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 unter 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 wirksam 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 auch die Bedingung fehl. Sie können Regelbedingungen zur Laufzeit der Pipeline überschreiben.
Bedingungen werden für bestimmte Ausdruckstypen verwendet, und für jede dieser Bedingungen stehen spezifische Ergebnisoptionen wie folgt zur Verfügung:
-
Teilnahme — Die Bedingungen für die Durchführung von Prüfungen, die, wenn sie erfüllt sind, den Eintritt in eine Phase ermöglichen. Regeln stehen für die folgenden Ergebnisoptionen zur Verfügung: Fehlgeschlagen oder Überspringen
-
Bei einem Fehler — Die Bedingungen für die Durchführung von Prüfungen für die Phase, in der sie fehlschlägt. Regeln werden mit der folgenden Ergebnisoption aktiviert: Rollback
-
Bei Erfolg — Die Bedingungen für die Durchführung von Prüfungen für die erfolgreiche Phase. Regeln stehen mit den folgenden Ergebnisoptionen zur Verfügung: Rollback oder Fehlgeschlagen
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 festgelegt werden. Die Aktion ist das Ergebnis der erfolgreichen oder fehlgeschlagenen Zustandsprüfung. Beispiel: Die Eingangsbedingung (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 die AWS CodePipeline Konsole oder die auch verwenden AWS CLI , um eine Phase 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 Phasenbedingungen
- Überlegungen zu Ergebnissen, die für die Bedingungen der Phase konfiguriert wurden
- Überlegungen zu Regeln, die für die Bedingungen der Phase konfiguriert wurden
- Teilnahmebedingungen erstellen
- Bedingungen bei Ausfall erstellen
- Bedingungen bei Erfolg erstellen
- Phasenbedingungen löschen
- Stufenbedingungen überschreiben
Anwendungsfälle für Phasenbedingungen
Für die Festlegung der Freigabe- und Änderungssicherheit in Pipelines gibt es mehrere Anwendungsfälle unter bestimmten Bedingungen. Im Folgenden finden Sie Beispiele für Anwendungsfälle für Phasenbedingungen.
-
Verwenden Sie eine Eingabebedingung, um eine Bedingung zu definieren, die den CloudWatch Alarmstatus überprüft und dann eine Änderung blockiert, wenn sich die Produktionsumgebung nicht in einem fehlerfreien Zustand befindet.
-
Verwenden Sie eine Eingabebedingung mit einer Wartezeit von 60, um eine Bedingung zu definieren, die ausgewertet werden soll, wenn alle Aktionen in einer Phase erfolgreich abgeschlossen wurden, und die Änderungen dann rückgängig machen, wenn ein CloudWatch Alarm innerhalb von 60 Minuten in den ALARM Status wechselt.
-
Verwenden Sie die Bedingung Bei Erfolg, um eine Bedingung zu definieren, sodass die Regel nach erfolgreichem Abschluss der Phase überprüft, ob die aktuelle Uhrzeit im Bereitstellungsfenster angezeigt wird, und dann, wenn die Regel erfolgreich ist, die Bereitstellung durchführt.
Überlegungen zu Ergebnissen, die für die Bedingungen der Phase konfiguriert wurden
Zu den Bedingungen in der Phase sollten folgende Überlegungen angestellt werden:
-
Sie können die automatische Wiederholung von Etappen nicht unter bestimmten onFailure Bedingungen verwenden.
-
Wenn Sie eine Bedingung mit einem Rollback-Ergebnis konfigurieren, kann die Phase nur dann zu einer vorherigen 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 Eingabebedingungen, die das Ergebnis „Überspringen“ verwenden, um die Phase zu überspringen, falls die Bedingung fehlschlägt, werden nur die
VariableCheck
RegelnLambdaInvoke
und unterstützt. -
Bei einer Phase mit dem Status Übersprungen können Sie keine manuelle Wiederholung der Phase durchführen.
-
Sie können kein manuelles Rollback zu einer Phase mit dem Status Übersprungen durchführen.
-
Sie können eine Bedingung nicht überschreiben, wenn die Bedingung mit einem Skip-Ergebnis konfiguriert ist.
-
Mit Ausnahme von „Ergebnisse überspringen“ können Sie eine Stufenbedingung überschreiben, wenn Sie eine Pipeline-Ausführung starten. Bei einer Stufenbedingung, bei der eine Überschreibung aktiviert ist, erfolgt die Ausführung wie in der folgenden Tabelle beschrieben.
-
Typ Konfiguriertes Ergebnis bei Ausfall der Bedingung Status der Phase Verhalten überschreiben Eintrag Fehler In Bearbeitung 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 Etappe geht weiter.
Überlegungen zu Regeln, die für die Bedingungen der Phase konfiguriert wurden
Zu den verfügbaren Regeln für Stufenbedingungen sollten folgende Überlegungen angestellt werden:
-
Für die
LambdaInvoke
Regel müssen Sie zuerst die Lambda-Funktion konfigurieren, die in der Regel verwendet werden soll. Halten Sie die Lambda-Funktion ARN bereit, wenn Sie die Regel konfigurieren. -
Für die
CloudWatchAlarm
Regel müssen Sie zunächst das Ereignis CloudWatch Ereignisse konfigurieren, das in der Regel verwendet werden soll. Halten Sie das Ereignis ARN bereit, wenn Sie die Regel konfigurieren.
Teilnahmebedingungen erstellen
Sie können die Teilnahmebedingungen für eine Phase mithilfe der Konsole oder konfigurierenCLI. Sie konfigurieren die entsprechenden Regeln und Ergebnisse für jede Bedingung. Für ein Rollback-Ergebnis kann die Pipeline nur dann zu einer vorherigen Ausführung zurückkehren, wenn die vorherige Ausführung in der aktuellen Pipeline-Strukturversion gestartet wurde.
Die Schritte stellen ein Beispiel für eine Eingabebedingung dar, die eine Monitorregel verwendet.
Weitere Informationen finden Sie unter Bedingung RuleTypeId, und RuleExecutionim CodePipeline APIHandbuch.
Eingabebedingungen erstellen — Beispiel für eine CloudWatchAlarm Regel (Konsole)
Sie können die Teilnahmebedingungen 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 ARN für eine Regel, bei der eine Ressource bereitgestellt wird, wie z. B. die AWS CloudWatchAlarm.
Melden Sie sich bei der an AWS Management Console 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 für den Eintritt in die Phase wird angezeigt. Für diese Bedingung ist die Option Fehlgeschlagen verfügbar.
-
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 Regel ein. Geben Sie für dieses Beispiel
MyAlarmRule
ein. -
Wählen Sie unter Regelanbieter den vorkonfigurierten Regelanbieter aus, den Sie zu Ihrer Bedingung hinzufügen möchten. 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 Bedingung aus, oder behalten Sie die Standardeinstellung bei.
-
Wählen Sie im Feld 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 ein, wie lange gewartet CodePipeline werden soll, wenn sich der Alarm bei seiner ersten Auswertung im ALARM Status befindet. Wenn der Alarm bei der ersten Überprüfung der Regel den Status OK hat, ist die Regel sofort erfolgreich.
-
(Optional) Geben Sie alle spezifischen Alarmzustände ein, die überwacht werden sollen, und geben Sie ARN gegebenenfalls die Rolle ein.
-
Wenn Sie mit der Bearbeitung der Phase fertig sind, wählen Sie Fertig. Wählen Sie auf der Seite zur Bearbeitung der Pipeline die Option Speichern aus.
-
-
Sehen Sie sich nach dem Lauf das Ergebnis an.
Eingabebedingungen mit „Ergebnis und VariableCheck
Regel überspringen“ erstellen (Konsole)
Sie können die Eingabebedingungen für eine Phase so konfigurieren, dass die Phase übersprungen wird, wenn die Eingabebedingung nicht erfüllt ist. Schlägt die Bedingung fehl, wird das Ergebnis aktiviert und die Phase wird übersprungen. Wenn eine Phase übersprungen wird, lautet der Status der Phase „Übersprungen“ und der Aktionsstatus lautet „Nicht ausgeführt“. Hinweise zu den Bedingungen in Phasen mit „Ergebnisse überspringen“ finden Sie unter. Überlegungen zu Ergebnissen, die für die Bedingungen der Phase konfiguriert wurden
Im folgenden Beispiel stellt die Regel zur Variablenprüfung fest, dass der Wert nicht übereinstimmt, und die Erstellungsphase wird übersprungen.
Konfigurieren Sie eine Eingabebedingung mit einem Skip-Ergebnis (Konsole)
-
Erfüllen Sie alle Voraussetzungen, z. B. das Erstellen der Ressource und ARN für eine Regel, bei der eine Ressource bereitgestellt wird, wie z. B. die AWS CloudWatchAlarm.
-
Melden Sie sich bei der an AWS Management Console 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 anschließend „Überspringen“ als Ergebnis aus.
-
Wählen Sie Regel hinzufügen und führen Sie dann die folgenden Schritte aus.
-
Geben Sie im Feld Regelname einen Namen für Ihre Regel ein. Geben Sie für dieses Beispiel
MyAlarmRule
ein. -
Wählen Sie unter Regelanbieter den vorkonfigurierten Regelanbieter aus, den Sie zu Ihrer Bedingung hinzufügen möchten. 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 behalten Sie die Standardeinstellung bei.
-
Wählen Sie im Feld Variable die Variable aus, mit der Sie vergleichen möchten, z. B.
#{SourceVariables.FullRepositoryName}
für eine Pipeline, die über eine Quellaktion für GitHub Version 2 verfügt. Geben Sie den Repository-Namen ein und wählen Sie den Operator aus, z. B. Equals. -
Wenn Sie mit der Bearbeitung der Phase fertig sind, wählen Sie Fertig. Wählen Sie auf der Seite zur Bearbeitung der Pipeline die Option Speichern aus.
-
-
Sehen Sie sich nach dem Lauf das Ergebnis an.
-
Um Details zu überprüfen, wählen Sie Überprüfen. Das Detail im folgenden Beispiel zeigt, dass das konfigurierte Ergebnis für die Bedingung Skip lautet, was nicht überschrieben werden kann. Der Regelstatus lautet Fehlgeschlagen, da die Bedingung nicht erfüllt ist.
Eingabebedingungen erstellen (CLI)
Um die AWS CLI zur Konfiguration einer Eingabebedingung zu verwenden, verwenden Sie die Befehle zum Erstellen oder Aktualisieren einer Pipeline, wie unter Eine Pipeline, Phasen und Aktionen erstellen 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 Befehlszeile (Windows) und verwenden Sie die, AWS CLI um den
update-pipeline
Befehl auszuführen, wobei Sie die Fehlerbedingung in der Pipeline-Struktur angeben. Im folgenden Beispiel wird eine Entry-Bedingung für ein Staging-Objekt mit dem Namen konfiguriert:Deploy
{ "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 von Erfolgsbedingungen für das Rollback in der Phase finden Sie SuccessConditionsin der Referenz. CodePipeline API
Eingabebedingungen erstellen () CFN
Verwenden Sie den beforeEntry
Parameter, AWS CloudFormation um eine Eingabebedingung zu konfigurieren. Bei der Eingabe führt die Phase 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 Eingabebedingung mit der folgenden Regel konfiguriert:
MyMonitorRule
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: MyMonitorRule RuleTypeId: Category: Rule Owner: AWS Provider: CloudWatchAlarm Version: '1' Configuration: AlarmName: CWAlarm WaitTime: '1' InputArtifacts: [] Region: us-east-1
Weitere Informationen zur Konfiguration von beforeEntry Bedingungen finden Sie BeforeEntryConditions unter AWS:CodePipeline: :Pipeline
StageDeclaration
im AWS CloudFormation Benutzerhandbuch.
Bedingungen bei Ausfall erstellen
Sie können die Bedingungen bei Ausfall für eine Phase mithilfe der Konsole oder konfigurierenCLI. Sie konfigurieren die entsprechenden Regeln und Ergebnisse für jede Bedingung. Für ein Rollback-Ergebnis kann die Pipeline nur dann zu einer vorherigen 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 bei Ausfall 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 einem Fehler“ (Konsole)
-
Erfüllen Sie alle Voraussetzungen, z. B. das Erstellen der Ressource und ARN für eine Regel, bei der eine Ressource bereitgestellt wird, wie z. B. die LambdaInvokeRegel.
Melden Sie sich bei der an AWS Management Console 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“. Die Karte mit den Fehlerbedingungen wird angezeigt, und für diesen Zustand ist die Option Rollback verfügbar.
-
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 Regel ein. Geben Sie für dieses Beispiel
MyLambdaRule
ein. -
Wählen Sie unter Regelanbieter den vorkonfigurierten Regelanbieter aus, den Sie zu Ihrer Bedingung hinzufügen möchten. 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 Bedingung aus, oder behalten Sie die Standardeinstellung bei.
-
Wählen Sie unter Eingabeartefakte das Quellartefakt 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 Rolle Arn die Rolle ein, ARN sofern sie konfiguriert ist.
-
(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. Wählen Sie auf der Seite zur Bearbeitung der Pipeline die Option Speichern aus.
-
Beispiel für das Erstellen von onFailure Bedingungen mit einem Wiederholungsergebnis (Konsole)
Sie können onFailure Bedingungen für eine Phase 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 ARN für eine Regel, bei der eine Ressource bereitgestellt wird, wie z. B. die AWS CloudWatchAlarm.
-
Melden Sie sich bei der an AWS Management Console 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 Wiederholungsmodus entweder die Phase Fehlgeschlagen wiederholen oder Fehlgeschlagene Aktionen wiederholen aus.
-
Wählen Sie, ob Sie eine onFailure Bedingung hinzufügen möchten, 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
MyAlarmRule
ein. -
Wählen Sie unter Regelanbieter den vorkonfigurierten Regelanbieter aus, den Sie zu Ihrer Bedingung hinzufügen möchten. 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 Bedingung aus, oder behalten Sie die Standardeinstellung bei.
-
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. Wählen Sie auf der Seite zur Bearbeitung der Pipeline die Option Speichern aus.
-
-
Sehen Sie sich nach dem Lauf das Ergebnis an.
Bedingungen bei Fehler erstellen (CLI)
Um die Bedingung Bei Ausfall AWS CLI zu konfigurieren, verwenden Sie die Befehle zum Erstellen oder Aktualisieren einer Pipeline, wie unter Eine Pipeline, Phasen und Aktionen erstellen 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 Befehlszeile (Windows) und verwenden Sie die, AWS CLI um den
update-pipeline
Befehl auszuführen, wobei Sie die Fehlerbedingung in der Pipeline-Struktur angeben. Im folgenden Beispiel wird die Bedingung On Failure für ein Staging-Objekt mit dem Namen konfiguriert:Deploy
{ "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 FailureConditionsin der CodePipeline API Referenz.
Bedingungen bei einem Fehler erstellen (CFN)
Verwenden Sie den OnFailure
Parameter, AWS CloudFormation um eine Bedingung bei Ausfall zu konfigurieren. Bei Erfolg führt die Phase 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:
MyMonitorRule
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: MyMonitorRule ruleTypeId: category: Rule owner: AWS provider: CloudWatchAlarm version: '1' configuration: AlarmName: AlarmOnHelloWorldInvocation AlarmStates: ALARM WaitTime: '1' inputArtifacts: [] region: us-east-1
Weitere Informationen zur Konfiguration von Fehlerbedingungen finden Sie OnFailureunter
StageDeclaration
im AWS CloudFormation Benutzerhandbuch.
Bedingungen bei Erfolg erstellen
Sie können On Success-Bedingungen für eine Phase mithilfe der Konsole oder konfigurierenCLI. Sie konfigurieren die entsprechenden Regeln und Ergebnisse für jede Bedingung. Für ein Rollback-Ergebnis kann die Pipeline nur dann zu einer vorherigen Ausführung zurückkehren, wenn die vorherige Ausführung in der aktuellen Pipeline-Strukturversion gestartet wurde.
Die Schritte stellen ein Beispiel für eine Bedingung bei Erfolg dar, die eine Fensterregel für die Bereitstellung verwendet.
Weitere Informationen finden Sie unter RuleTypeIdBedingung und RuleExecutionim CodePipeline APIHandbuch.
Bedingungen bei Erfolg erstellen (Konsole)
Sie können Bedingungen bei Erfolg 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 Bedingung „Bei Erfolg“ (Konsole)
-
Erfüllen Sie alle Voraussetzungen, z. B. das Erstellen der Ressource und ARN für eine Regel, bei der eine Ressource bereitgestellt wird, wie z. B. die AWS LambdaRule.
Melden Sie sich bei der an AWS Management Console 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 der Bedingung „Erfolg auf der Bühne“ wird angezeigt. Wählen Sie die Optionen 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
MyDeploymentRule
ein. -
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 Bedingung aus, oder behalten Sie die Standardeinstellung bei.
-
Geben Sie in Cron den Cron-Ausdruck für das Bereitstellungsfenster ein. Der Cron-Ausdruck definiert die Tage und Zeiten, an denen die Bereitstellung zulässig sein soll. Referenzinformationen zu Cron-Ausdrücken finden Sie unter Regeln mithilfe von Cron- und Rate-Ausdrücken planen.
-
(Optional) Geben Sie TimeZoneunter 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 Eine Pipeline, Phasen und Aktionen erstellen 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 Befehlszeile (Windows) und verwenden Sie die, AWS CLI um den
update-pipeline
Befehl auszuführen, wobei Sie die Fehlerbedingung in der Pipeline-Struktur angeben. Im folgenden Beispiel wird die Bedingung On Success für einen Staging-Ordner mit dem Namen „On Success“ konfiguriertDeploy
, in dem die Regel benannt ist:MyDeploymentRule
{ "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 SuccessConditionsin der CodePipeline API Referenz.
Erstellen Sie eine Bedingung bei Erfolg (CFN)
Verwenden Sie AWS CloudFormation den OnSuccess
Parameter, um eine On Success-Bedingung zu konfigurieren. Bei Erfolg führt die Phase 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:
MyDeploymentWindowRule
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: MyMonitorRule ruleTypeId: category: Rule owner: AWS provider: CloudWatchAlarm version: '1' configuration: AlarmName: CWAlarm WaitTime: '1' inputArtifacts: [] region: us-east-1
Weitere Informationen zur Konfiguration von Fehlerbedingungen für das Stage-Rollback finden Sie OnFailureunter
StageDeclaration
im AWS CloudFormation Benutzerhandbuch.
Phasenbedingungen 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 Management Console 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 Phase bearbeiten aus.
-
Wählen Sie neben der Bedingung, die Sie löschen möchten, die Option Bedingung löschen aus.
Stufenbedingungen überschreiben
Sie können Phasenbedingungen überschreiben, die für Ihre Pipeline konfiguriert wurden. Wenn die Phase und die Regel in der Konsole ausgeführt werden, können Sie festlegen, dass die Stufenbedingung außer Kraft gesetzt wird. Dies führt dazu, dass die Phase läuft
Um eine Bühnenbedingung zu überschreiben
-
In diesem Beispiel wird die Pipeline-Phase mit einer Bedingung ausgeführt. Die Schaltfläche Override ist aktiviert.
-
Wählen Sie neben der Bedingung, die Sie überschreiben möchten, die Option Überschreiben aus.
-
Um 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, was überschrieben wurde. Der Regelstatus ist aufgrund der Überschreibung verlassen.