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.
Konfiguration des Wiederholungsversuchs für eine fehlgeschlagene Phase oder für fehlgeschlagene Aktionen
Sie können einen Schritt, bei dem ein Fehler aufgetreten ist, wiederholen, ohne eine Pipeline erneut von Anfang an ausführen zu müssen. Sie tun dies, indem Sie entweder die fehlgeschlagenen Aktionen in einer Phase wiederholen oder indem Sie alle Aktionen in der Phase wiederholen, beginnend mit der ersten Aktion in der Phase. Wenn Sie die fehlgeschlagenen Aktionen in einer Phase wiederholen, funktionieren alle Aktionen, die noch ausgeführt werden, weiter und fehlgeschlagene Aktionen werden erneut ausgelöst. Wenn Sie eine fehlgeschlagene Phase von der ersten Aktion in der Phase aus wiederholen, können in der Phase keine laufenden Aktionen ausgeführt werden. Bevor eine Phase erneut versucht werden kann, müssen entweder alle Aktionen fehlgeschlagen sein oder einige Aktionen sind fehlgeschlagen und andere waren erfolgreich.
Wichtig
Beim erneuten Versuch einer fehlgeschlagenen Phase werden alle Aktionen in der Phase ab der ersten Aktion in der Phase wiederholt, und beim erneuten Versuch einer fehlgeschlagenen Aktion werden alle fehlgeschlagenen Aktionen in der Phase wiederholt. Dadurch werden Ausgabeartefakte von zuvor erfolgreichen Aktionen in derselben Ausführung außer Kraft gesetzt.
Artefakte können zwar überschrieben werden, der Ausführungsverlauf zuvor erfolgreicher Aktionen wird jedoch beibehalten.
Wenn Sie die Konsole verwenden, um eine Pipeline anzuzeigen, wird auf der Stufe entweder eine Schaltfläche „Phase wiederholen“ oder eine Schaltfläche „Fehlgeschlagene Aktionen wiederholen“ angezeigt, die erneut versucht werden kann.
Wenn Sie die AWS CLI verwenden, können Sie den get-pipeline-state Befehl verwenden, um festzustellen, ob Aktionen fehlgeschlagen sind.
Anmerkung
In den folgenden Fällen können Sie eine Phase möglicherweise nicht erneut versuchen:
-
Alle Aktionen in der Phase waren erfolgreich, sodass sich die Phase nicht im Status Fehlgeschlagen befindet.
-
Die gesamte Pipeline-Struktur änderte sich, nachdem die Phase fehlgeschlagen war.
-
Es wird bereits ein anderer Wiederholungsversuch in der Phase ausgeführt.
Themen
Überlegungen zur Wiederholung der Phase
Für eine Wiederholung der Phase sind folgende Überlegungen zu beachten:
-
Sie können die automatische Wiederholung bei einem Stufenfehler nur für einen Wiederholungsversuch konfigurieren.
-
Sie können die automatische Wiederholung bei einem Ausfall einer Phase für alle Aktionen, einschließlich Aktionen, konfigurieren.
Source
Wiederholen Sie eine fehlgeschlagene Phase manuell
Sie können eine fehlgeschlagene Phase mithilfe der Konsole oder der CLI manuell wiederholen.
Sie können auch eine Phase für die automatische Wiederholung bei einem Fehler konfigurieren, wie unter beschrieben. Konfigurieren Sie eine Phase für die automatische Wiederholung bei einem Fehler
Einen fehlgeschlagenen Schritt manuell wiederholen (Konsole)
Um eine fehlgeschlagene Phase oder fehlgeschlagene Aktionen in einer Phase zu wiederholen — Konsole
-
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 aller mit Ihrem AWS Konto verknüpften Pipelines werden angezeigt.
-
Wählen Sie im Feld Name den Namen der Pipeline.
-
Suchen Sie die Phase mit der fehlgeschlagenen Aktion und wählen Sie dann eine der folgenden Optionen aus:
-
Um alle Aktionen in der Phase zu wiederholen, wählen Sie Phase wiederholen.
-
Um nur fehlgeschlagene Aktionen in der Phase zu wiederholen, wählen Sie Fehlgeschlagene Aktionen wiederholen.
Wenn alle wiederholten Aktionen in der Stufe erfolgreich abgeschlossen sind, wird die Pipeline weiter ausgeführt.
-
Wiederholen Sie eine fehlgeschlagene Phase manuell (CLI)
Um eine fehlgeschlagene Phase oder fehlgeschlagene Aktionen in einer Phase zu wiederholen — CLI
Um die zu verwenden AWS CLI , um alle Aktionen oder alle fehlgeschlagenen Aktionen erneut zu versuchen, führen Sie den retry-stage-execution Befehl mit den folgenden Parametern aus:
--pipeline-name <value> --stage-name <value> --pipeline-execution-id <value> --retry-mode ALL_ACTIONS/FAILED_ACTIONS
Anmerkung
Die Werte, für die Sie verwenden können, retry-mode sind FAILED_ACTIONS undALL_ACTIONS.
-
Führen Sie den Befehl an einem Terminal (Linux, macOS oder Unix) oder einer retry-stage-execution Befehlszeile (Windows) aus, wie im folgenden Beispiel für eine Pipeline mit dem Namen gezeigt
MyPipeline.aws codepipeline retry-stage-execution --pipeline-name MyPipeline --stage-name Deploy --pipeline-execution-id b59babff-5f34-EXAMPLE --retry-mode FAILED_ACTIONSDie Ausgabe gibt die Ausführungs-ID zurück:
{ "pipelineExecutionId": "b59babff-5f34-EXAMPLE" } -
Sie können den Befehl auch mit einer JSON-Eingabedatei ausführen. Sie erstellen zunächst eine JSON-Datei, die die Pipeline, die Stufe mit den fehlgeschlagenen Aktionen und die letzte Pipeline-Ausführung in dieser Stufe ermittelt. Führen Sie den Befehl retry-stage-execution mit dem Parameter
--cli-input-jsonaus. Am einfachsten können Sie die für die JSON-Datei benötigten Details über den Befehl get-pipeline-state abrufen.-
Führen Sie den Befehl an einem Terminal (Linux, macOS oder Unix) oder einer get-pipeline-state Befehlszeile (Windows) in einer Pipeline aus. Für eine Pipeline mit dem Namen würden Sie MyFirstPipeline beispielsweise etwas eingeben, das dem Folgenden ähnelt:
aws codepipeline get-pipeline-state --nameMyFirstPipelineDie Ausgabe des Befehls umfasst die Pipeline-Statusinformationen für jede einzelne Stufe. Im folgenden Beispiel zeigt die Ausgabe, dass eine oder mehrere Aktionen in der Staging-Stufe fehlgeschlagen sind:
{ "updated": 1427245911.525, "created": 1427245911.525, "pipelineVersion": 1, "pipelineName": "MyFirstPipeline", "stageStates": [ { "actionStates": [...], "stageName": "Source", "latestExecution": { "pipelineExecutionId": "9811f7cb-7cf7-SUCCESS", "status": "Succeeded" } },{ "actionStates": [...], "stageName": "Staging", "latestExecution": { "pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE", "status": "Failed" }} ] } -
Erstellen Sie in einem Texteditor eine Datei im JSON-Format, in der Sie Folgendes festhalten:
-
Der Name der Pipeline mit den fehlgeschlagenen Aktionen
-
Der Name der Stufe mit den fehlgeschlagenen Aktionen
-
Die ID der letzten Pipeline-Ausführung in der Stufe
-
Der Retry-Modus.
Für das vorherige MyFirstPipeline Beispiel würde Ihre Datei ungefähr so aussehen:
{ "pipelineName": "MyFirstPipeline", "stageName": "Staging", "pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE", "retryMode": "FAILED_ACTIONS" } -
-
Speichern Sie die Datei mit einem Namen wie
retry-failed-actions.json. -
Rufen Sie die beim Ausführen des Befehls retry-stage-execution erstellte Datei auf. Beispiel:
Wichtig
Achten Sie darauf, dass
file://vor dem Dateinamen steht. Dies ist bei diesem Befehl erforderlich.aws codepipeline retry-stage-execution --cli-input-json file://retry-failed-actions.json -
Um die Ergebnisse des Wiederholungsversuchs anzuzeigen, öffnen Sie entweder die CodePipeline Konsole und wählen Sie die Pipeline aus, die die fehlgeschlagenen Aktionen enthält, oder verwenden Sie den get-pipeline-state Befehl erneut. Weitere Informationen finden Sie unter Pipelines und Details anzeigen in CodePipeline.
-
Konfigurieren Sie eine Phase für die automatische Wiederholung bei einem Fehler
Sie können eine Phase für die automatische Wiederholung bei einem Fehler konfigurieren. Die Phase unternimmt einen Wiederholungsversuch und zeigt auf der Seite „Pipeline anzeigen“ einen Wiederholungsstatus für die fehlgeschlagene Phase an.
Sie können den Wiederholungsmodus konfigurieren, indem Sie angeben, dass die Phase automatisch entweder alle Aktionen in der fehlgeschlagenen Phase oder nur fehlgeschlagene Aktionen in der Phase wiederholen soll.
Konfigurieren Sie eine Phase für die automatische Wiederholung bei einem Fehler (Konsole)
Sie können die Konsole verwenden, um eine Phase für die automatische Wiederholung zu konfigurieren.
Konfigurieren Sie eine Phase für die automatische Wiederholung (Konsole)
-
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 mit Ihrem AWS Konto verknüpften Pipelines 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 Automatisierte Stufenkonfiguration: und wählen Sie dann Automatische Wiederholung bei Ausfall einer Phase aktivieren aus. Speichern Sie die Änderungen an Ihrer Pipeline.
-
Wählen Sie unter Automatisierte Stufenkonfiguration: einen der folgenden Wiederholungsmodi aus:
-
Um anzugeben, dass der Modus alle Aktionen in der Phase wiederholt, wählen Sie „Fehlgeschlagene Phase wiederholen“.
-
Um festzulegen, dass der Modus nur fehlgeschlagene Aktionen in der Phase wiederholt, wählen Sie Fehlgeschlagene Aktionen wiederholen.
Speichern Sie die Änderungen an Ihrer Pipeline.
-
-
Wenn die Phase nach der Ausführung Ihrer Pipeline ausfällt, wird der automatische Wiederholungsversuch unternommen. Die folgenden Beispiele zeigen eine Build-Phase, die automatisch wiederholt wurde.
-
Um Details zum Wiederholungsversuch anzuzeigen, wählen Sie. Das Fenster wird angezeigt.
Konfigurieren Sie eine Phase für die automatische Wiederholung (CLI)
Um eine Phase so AWS CLI zu konfigurieren, dass sie bei einem Fehler automatisch erneut versucht, verwenden Sie die Befehle, um eine Pipeline zu erstellen oder zu aktualisieren, wie in Erstellen Sie eine Pipeline, Stufen und Aktionen und beschrieben. Eine Pipeline bearbeiten in CodePipeline
-
Öffnen Sie ein Terminal (Linux, macOS oder Unix) oder eine Eingabeaufforderung (Windows) und verwenden Sie den, AWS CLI um den
update-pipelineBefehl auszuführen. Geben Sie dabei die Fehlerbedingung in der Pipeline-Struktur an. Im folgenden Beispiel wird die automatische Wiederholung für eine Stufe mit dem Namen konfiguriert:S3Deploy{ "name": "S3Deploy", "actions": [ { "name": "s3deployaction", "actionTypeId": { "category": "Deploy", "owner": "AWS", "provider": "S3", "version": "1" }, "runOrder": 1, "configuration": { "BucketName": "static-website-bucket", "Extract": "false", "ObjectKey": "SampleApp.zip" }, "outputArtifacts": [], "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-east-1" } ], "onFailure": { "result": "RETRY", "retryConfiguration": { "retryMode": "ALL_ACTIONS", }, }
Konfigurieren Sie eine Phase für die automatische Wiederholung (CloudFormation)
Um eine Phase für die automatische Wiederholung bei einem Fehler CloudFormation zu konfigurieren, verwenden Sie den OnFailure Stage-Lifecycle-Parameter. Verwenden Sie den RetryConfiguration Parameter, um den Wiederholungsmodus zu konfigurieren.
OnFailure: Result: RETRY RetryConfiguration: RetryMode: ALL_ACTIONS
-
Aktualisieren Sie die Vorlage wie im folgenden Codeausschnitt gezeigt. Im folgenden Beispiel wird die automatische Wiederholung für eine Stufe mit dem Namen konfiguriert:
ReleaseAppPipeline: Type: AWS::CodePipeline::Pipeline Properties: RoleArn: Ref: CodePipelineServiceRole Stages: - Name: Source Actions: - Name: SourceAction ActionTypeId: Category: Source Owner: AWS Version: 1 Provider: S3 OutputArtifacts: - Name: SourceOutput Configuration: S3Bucket: Ref: SourceS3Bucket S3ObjectKey: Ref: SourceS3ObjectKey RunOrder: 1 - Name: Release Actions: - Name: ReleaseAction InputArtifacts: - Name: SourceOutput ActionTypeId: Category: Deploy Owner: AWS Version: 1 Provider: CodeDeploy Configuration: ApplicationName: Ref: ApplicationName DeploymentGroupName: Ref: DeploymentGroupName RunOrder: 1 OnFailure: Result: RETRY RetryConfiguration: RetryMode: ALL_ACTIONS ArtifactStore: Type: S3 Location: Ref: ArtifactStoreS3Location EncryptionKey: Id: arn:aws:kms:useast-1:ACCOUNT-ID:key/KEY-ID Type: KMS DisableInboundStageTransitions: - StageName: Release Reason: "Disabling the transition until integration tests are completed" Tags: - Key: Project Value: ProjectA - Key: IsContainerBased Value: 'true'Weitere Informationen zur Konfiguration von Wiederholungsversuchen im Fehlerfall finden Sie OnFailure unter
StageDeclarationim CloudFormation Benutzerhandbuch.