

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.

# Stufen rückgängig machen oder erneut versuchen
<a name="pipelines-stages"></a>

Sie können die AWS CodePipeline Konsole oder die verwenden AWS CLI , um eine Phase oder Aktionen in einer Phase manuell rückgängig zu machen oder erneut zu versuchen. Informationen zum Konfigurieren von Bedingungen für Phasen, in denen Sie Rollback oder Retry als konfiguriertes Ergebnis verwenden möchten, finden Sie unter. [Bedingungen für eine Phase konfigurieren](stage-conditions.md)

**Topics**
+ [

# Stufenwiederholung für eine fehlgeschlagene Phase oder fehlgeschlagene Aktionen konfigurieren
](stage-retry.md)
+ [

# Konfiguration des Stage-Rollbacks
](stage-rollback.md)

# Stufenwiederholung für eine fehlgeschlagene Phase oder fehlgeschlagene Aktionen konfigurieren
<a name="stage-retry"></a>

Sie können eine Phase wiederholen, bei der ein Fehler aufgetreten ist, ohne eine Pipeline erneut von Anfang an ausführen zu müssen. Sie tun dies, indem Sie entweder die fehlgeschlagenen Aktionen in einer Phase erneut versuchen 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, weiterhin, und fehlgeschlagene Aktionen werden erneut ausgelöst. Wenn Sie eine fehlgeschlagene Phase von der ersten Aktion in der Phase wiederholen, können in der Phase keine 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 erfolgreich.

**Wichtig**  
Beim erneuten Versuch einer fehlgeschlagenen Phase werden alle Aktionen der Phase von der ersten Aktion in der Phase wiederholt, und bei einem erneuten Versuch, fehlgeschlagene Aktionen durchzuführen, werden alle fehlgeschlagenen Aktionen in der Phase wiederholt. Dadurch werden Ausgabeartefakte zuvor erfolgreicher 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, erscheint entweder die Schaltfläche **Phase wiederholen** oder **Fehlgeschlagene Aktionen wiederholen** auf der Stufe, 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 die Phase nicht den Status Fehlgeschlagen hat.
Die gesamte Pipeline-Struktur hat sich geändert, nachdem die Phase gescheitert war.
Es wird bereits ein anderer Wiederholungsversuch in der Phase ausgeführt.

**Topics**
+ [

## Überlegungen zur Wiederholung der Phase
](#stage-retry-considerations)
+ [

## Eine fehlgeschlagene Phase manuell wiederholen
](#stage-retry-manual)
+ [

## Konfigurieren Sie eine Phase für den automatischen Wiederholungsversuch bei einem Fehler
](#stage-retry-auto)

## Überlegungen zur Wiederholung der Phase
<a name="stage-retry-considerations"></a>

Bei der Wiederholung einer Phase sollten folgende Überlegungen angestellt werden:
+ Sie können die automatische Wiederholung bei einem Stufenausfall nur für einen Wiederholungsversuch konfigurieren.
+ Sie können die automatische Wiederholung bei einem Stufenfehler für alle Aktionen, einschließlich Aktionen, konfigurieren. `Source`

## Eine fehlgeschlagene Phase manuell wiederholen
<a name="stage-retry-manual"></a>

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 den automatischen Wiederholungsversuch bei einem Fehler](#stage-retry-auto) 

### Eine fehlgeschlagene Phase manuell wiederholen (Konsole)
<a name="stage-retry-console"></a><a name="proc-stage-retry-console"></a>

**Um eine fehlgeschlagene Phase oder fehlgeschlagene Aktionen in einer Phase erneut zu versuchen: Konsole**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CodePipeline Konsole unter [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Die Namen aller mit Ihrem AWS Konto verknüpften Pipelines werden angezeigt.

1.  Wählen Sie im Feld **Name** den Namen der Pipeline. 

1. Suchen Sie die Phase mit der fehlgeschlagenen Aktion und wählen Sie dann eine der folgenden Optionen aus:
   + Um alle Aktionen in der Phase erneut zu versuchen, wählen Sie Phase **wiederholen** aus.
   + Um nur fehlgeschlagene Aktionen in der Phase erneut zu versuchen, wählen Sie Fehlgeschlagene Aktionen **wiederholen**.   
![\[Eine Beispielpipeline mit einer CodeCommit Quellphase und einer fehlgeschlagenen CodeDeploy Bereitstellungsphase\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/images/retry-failed-stage.png)

   Wenn alle wiederholten Aktionen in der Stufe erfolgreich abgeschlossen sind, wird die Pipeline weiter ausgeführt.

### Manuelles Wiederholen einer fehlgeschlagenen Phase (CLI)
<a name="stage-retry-cli"></a>

**Um eine fehlgeschlagene Phase oder fehlgeschlagene Aktionen in einer Phase erneut zu versuchen - CLI**

Um alle Aktionen oder alle fehlgeschlagenen Aktionen erneut AWS CLI 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` und`ALL_ACTIONS`.

1. Führen Sie den Befehl an einem Terminal (Linux, macOS oder Unix) oder einer [https://docs.aws.amazon.com/cli/latest/reference/codepipeline/get-pipeline-state.html](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/get-pipeline-state.html)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_ACTIONS
   ```

   Die Ausgabe gibt die Ausführungs-ID zurück:

   ```
   {
       "pipelineExecutionId": "b59babff-5f34-EXAMPLE"
   }
   ```

1. 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-json` aus. Am einfachsten können Sie die für die JSON-Datei benötigten Details über den Befehl **get-pipeline-state** abrufen.

   1. Führen Sie den Befehl an einem Terminal (Linux, macOS oder Unix) oder einer [https://docs.aws.amazon.com/cli/latest/reference/codepipeline/get-pipeline-state.html](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/get-pipeline-state.html)Befehlszeile (Windows) in einer Pipeline aus. Für eine Pipeline mit dem Namen würden Sie MyFirstPipeline beispielsweise etwas Ähnliches wie das Folgende eingeben:

      ```
      aws codepipeline get-pipeline-state --name MyFirstPipeline
      ```

      Die 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"
                  }
              }
          ]
      }
      ```

   1. 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 etwa so aussehen:

      ```
      {
          "pipelineName": "MyFirstPipeline",
          "stageName": "Staging",
          "pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE",
          "retryMode": "FAILED_ACTIONS"
      }
      ```

   1. Speichern Sie die Datei mit einem Namen wie **retry-failed-actions.json**.

   1. Rufen Sie die beim Ausführen des Befehls [https://docs.aws.amazon.com/cli/latest/reference/codepipeline/retry-stage-execution.html](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/retry-stage-execution.html) 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
      ```

   1. 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](pipelines-view.md). 

## Konfigurieren Sie eine Phase für den automatischen Wiederholungsversuch bei einem Fehler
<a name="stage-retry-auto"></a>

Sie können eine Phase für die automatische Wiederholung bei einem Fehler konfigurieren. Die Phase führt einen erneuten Versuch durch und zeigt auf der Seite „Pipeline anzeigen“ 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 den automatischen Wiederholungsversuch bei einem Fehler (Konsole)
<a name="stage-retry-auto-console"></a>

Sie können die Konsole verwenden, um eine Phase für die automatische Wiederholung zu konfigurieren.

**Konfigurieren Sie eine Phase für automatische Wiederholungen (Konsole)**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CodePipeline Konsole unter [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Die Namen und der Status aller mit Ihrem AWS Konto verknüpften Pipelines werden angezeigt. 

1. Wählen Sie im Feld **Name** den Namen der Pipeline aus, die Sie bearbeiten möchten.

1. Wählen Sie auf der Pipelinedetails-Seite **Edit** aus.

1. Wählen Sie auf der Seite **Bearbeiten** für die Aktion, die Sie bearbeiten möchten, die Option **Phase bearbeiten** aus.

1. Wählen Sie **Automatisierte Stufenkonfiguration:** und wählen Sie dann **Automatische Wiederholung bei Stufenausfall aktivieren** aus. Speichern Sie die Änderungen an Ihrer Pipeline.

1. Wählen Sie **unter Automatisierte Stufenkonfiguration:** einen der folgenden Wiederholungsmodi aus:
   + Um anzugeben, dass der Modus alle Aktionen in der Phase erneut versucht, wählen Sie Phase **erneut versuchen** aus.
   + **Um anzugeben, dass der Modus nur fehlgeschlagene Aktionen in der Phase wiederholt, wählen Sie Fehlgeschlagene Aktionen wiederholen.**

   Speichern Sie die Änderungen an Ihrer Pipeline.  
![\[Ein Beispiel für einen Bearbeitungsbildschirm zur Konfiguration der automatischen Wiederholung bei einem Stufenfehler in CodePipeline.\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/images/retry-configure.png)

1. Wenn nach der Ausführung der Pipeline der Fehler in der Phase auftritt, wird der automatische Wiederholungsversuch unternommen. Die folgenden Beispiele zeigen eine Buildphase, die automatisch wiederholt wurde.  
![\[Eine Beispielpipeline mit einer fehlgeschlagenen Phase, die einmal wiederholt wurde.\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/images/stage-auto-retry-example.png)

1. Um Details zum Wiederholungsversuch anzuzeigen, wählen Sie. Das Fenster wird angezeigt.  
![\[Ein Beispiel für das Metadatenfenster der Wiederholungsphase, das zeigt, dass ein Versuch unternommen wurde.\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/images/retry-stage-metadata.png)

### Konfigurieren Sie eine Phase für automatische Wiederholungen (CLI)
<a name="stage-retry-auto-cli"></a>

Verwenden Sie die Befehle AWS CLI zum Erstellen oder Aktualisieren einer Pipeline, um eine Phase so zu konfigurieren, dass sie bei einem Fehler automatisch wiederholt wird, wie unter und beschrieben[Eine Pipeline, Phasen und Aktionen erstellen](pipelines-create.md). [Eine Pipeline bearbeiten in CodePipeline](pipelines-edit.md)
+ Ö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 automatische Wiederholung für einen Staging-Vorgang 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
<a name="stage-retry-auto-cfn"></a>

Verwenden Sie den Parameter Stage Lifecycle, CloudFormation um eine Phase für die `OnFailure` automatische Wiederholung bei einem Fehler zu konfigurieren. 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 Phase mit dem Namen konfiguriert: `Release`

  ```
  AppPipeline: 
    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 der Wiederholungsversuche bei einem Fehler finden Sie [OnFailure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stagedeclaration.html#cfn-codepipeline-pipeline-stagedeclaration-onfailure)unter `StageDeclaration` im CloudFormation Benutzerhandbuch.*

# Konfiguration des Stage-Rollbacks
<a name="stage-rollback"></a>

Sie können eine Phase auf eine Ausführung zurücksetzen, die in dieser Phase erfolgreich war. Sie können eine Phase für das Rollback bei einem Fehler vorkonfigurieren, oder Sie können eine Phase manuell rückgängig machen. Der Rollback-Vorgang führt zu einer neuen Ausführung. Die für das Rollback gewählte Ziel-Pipeline-Ausführung wird zum Abrufen von Quellrevisionen und Variablen verwendet. 

Die Art der Ausführung, entweder Standard oder Rollback, wird im Pipeline-Verlauf, im Pipeline-Status und in den Details zur Pipeline-Ausführung angezeigt.

**Topics**
+ [

## Überlegungen zu Rollbacks
](#stage-rollback-considerations)
+ [

# Manuelles Rollback einer Phase
](stage-rollback-manual.md)
+ [

# Konfigurieren Sie eine Phase für das automatische Rollback
](stage-rollback-auto.md)
+ [

# Den Rollback-Status in der Ausführungsliste anzeigen
](stage-rollback-view-listing.md)
+ [

# Details zum Rollback-Status anzeigen
](stage-rollback-view-details.md)

## Überlegungen zu Rollbacks
<a name="stage-rollback-considerations"></a>

Beim Stufen-Rollback sollten folgende Überlegungen angestellt werden:
+ Sie können eine Quellstufe nicht rückgängig machen.
+ Die Pipeline kann nur dann zu einer vorherigen Ausführung zurückkehren, wenn die vorherige Ausführung in der aktuellen Version der Pipeline-Struktur gestartet wurde.
+ Sie können nicht zu einer Ziel-Ausführungs-ID zurückkehren, bei der es sich um einen Rollback-Ausführungstyp handelt.
+ CodePipeline verwendet die Variablen und Artefakte aus der Ausführung, zu der ein Rollback durchgeführt wird.

# Manuelles Rollback einer Phase
<a name="stage-rollback-manual"></a>

Sie können eine Phase mithilfe der Konsole oder der CLI manuell rückgängig machen. Die Pipeline kann nur dann zu einer vorherigen Ausführung zurückkehren, wenn die vorherige Ausführung in der aktuellen Version der Pipeline-Struktur gestartet wurde.

Sie können eine Phase auch so konfigurieren, dass bei einem Fehler ein automatisches Rollback ausgeführt wird, wie unter beschrieben[Konfigurieren Sie eine Phase für das automatische Rollback](stage-rollback-auto.md). 

## Manuelles Rollback einer Phase (Konsole)
<a name="stage-rollback-console"></a>

Sie können die Konsole verwenden, um eine Phase manuell auf eine Ziel-Pipeline-Ausführung zurückzusetzen. Wenn eine Phase zurückgesetzt wird, wird in der Pipeline-Visualisierung in der Konsole ein **Rollback-Label** angezeigt.

**Manuelles Rollback einer Phase (Konsole)**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CodePipeline Konsole unter [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Die Namen und der Status aller mit Ihrem AWS Konto verknüpften Pipelines werden angezeigt. 

1. Wählen Sie unter **Name** den Namen der Pipeline mit der Phase aus, für die ein Rollback ausgeführt werden soll.  
![\[Ein Beispieldiagramm einer Pipeline mit zwei Stufen CodePipeline.\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/images/rollback-stage-first.png)

1. Wählen Sie auf der Bühne **Rollback starten** aus. Das Dialogfeld **„Zurück zur** Seite“ wird angezeigt.

1. Wählen Sie die Zielausführung aus, auf die Sie die Phase zurücksetzen möchten.
**Anmerkung**  
Die Liste der verfügbaren Ziel-Pipeline-Ausführungen umfasst alle Ausführungen in der aktuellen Pipeline-Version, die am 1. Februar 2024 beginnt.  
![\[Ein Beispiel für die Auswahl der Zielausführungs-ID in. CodePipeline\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/images/rollback-stage-dialog.png)

Das folgende Diagramm zeigt ein Beispiel für die Rollback-Stufe mit der neuen Ausführungs-ID.

![\[Ein Beispieldiagramm einer Pipeline mit einer Rollback-Phase CodePipeline.\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/images/stage-rolled-back.png)


## Manuelles Rollback einer Phase (CLI)
<a name="stage-rollback-cli"></a>

Verwenden Sie den `rollback-stage` Befehl, AWS CLI um eine Phase manuell rückgängig zu machen. 

Sie können eine Phase auch manuell rückgängig machen, wie unter beschrieben[Manuelles Rollback einer Phase](#stage-rollback-manual). 

**Anmerkung**  
Die Liste der verfügbaren Ziel-Pipeline-Ausführungen umfasst alle Ausführungen in der aktuellen Pipeline-Version, die am 1. Februar 2024 beginnt.

**So führen Sie ein manuelles Rollback einer Phase durch (CLI)**

1. Der CLI-Befehl für das manuelle Rollback erfordert die Ausführungs-ID einer zuvor erfolgreichen Pipeline-Ausführung in der Phase. Um die von Ihnen angegebene Ziel-Pipeline-Ausführungs-ID abzurufen, verwenden Sie den list-pipeline-executions Befehl mit einem Filter, der erfolgreiche Ausführungen in der Phase zurückgibt. Öffnen Sie ein Terminal (Linux, macOS oder Unix) oder eine Befehlszeile (Windows) und verwenden Sie die, AWS CLI um den `list-pipeline-executions` Befehl auszuführen. Geben Sie dabei den Namen der Pipeline und den Filter für erfolgreiche Ausführungen in der Phase an. In diesem Beispiel werden in der Ausgabe Pipeline-Ausführungen für die angegebene Pipeline MyFirstPipeline und für erfolgreiche Ausführungen in der genannten Phase aufgeführt. `deploys3` 

   ```
   aws codepipeline list-pipeline-executions --pipeline-name MyFirstPipeline --filter succeededInStage={stageName=deploys3}
   ```

   Kopieren Sie in der Ausgabe die Ausführungs-ID der zuvor erfolgreichen Ausführung, die Sie für das Rollback angeben möchten. Sie werden diese im nächsten Schritt als Zielausführungs-ID verwenden.

1. Öffnen Sie ein Terminal (Linux, macOS oder Unix) oder eine Befehlszeile (Windows) und verwenden Sie die, AWS CLI um den `rollback-stage` Befehl auszuführen. Geben Sie dabei den Namen der Pipeline, den Namen der Phase und die Zielausführung an, zu der Sie zurückkehren möchten. Um beispielsweise eine Phase namens Deploy für eine Pipeline mit dem Namen „Bereitstellen“ rückgängig zu machen*MyFirstPipeline*: 

   ```
   aws codepipeline rollback-stage --pipeline-name MyFirstPipeline --stage-name Deploy --target-pipeline-execution-id bc022580-4193-491b-8923-9728dEXAMPLE 
   ```

   Die Ausgabe gibt die Ausführungs-ID für die neue Ausführung zurück, für die ein Rollback ausgeführt wurde. Dies ist eine separate ID, die die Quellversionen und Parameter der angegebenen Zielausführung verwendet.

# Konfigurieren Sie eine Phase für das automatische Rollback
<a name="stage-rollback-auto"></a>

Sie können Phasen in einer Pipeline so konfigurieren, dass sie bei einem Ausfall automatisch zurückgesetzt werden. Wenn die Phase fehlschlägt, wird die Phase auf die letzte erfolgreiche Ausführung zurückgesetzt. Die Pipeline kann nur dann zu einer vorherigen Ausführung zurückkehren, wenn die vorherige Ausführung in der aktuellen Version der Pipeline-Struktur gestartet wurde. Da die automatische Rollback-Konfiguration Teil der Pipeline-Definition ist, wird Ihre Pipeline-Phase erst nach einer erfolgreichen Pipeline-Ausführung in der Pipeline-Phase automatisch zurückgesetzt.

## Konfigurieren Sie eine Phase für das automatische Rollback (Konsole)
<a name="stage-rollback-auto-console"></a>

Sie können eine Phase auf eine bestimmte vorherige erfolgreiche Ausführung zurücksetzen. Weitere Informationen finden Sie [RollbackStage](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RollbackStage.html)im *CodePipeline API-Leitfaden*.

**Konfigurieren Sie eine Phase für das automatische Rollback (Konsole)**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CodePipeline Konsole unter [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Die Namen und der Status aller mit Ihrem AWS Konto verknüpften Pipelines werden angezeigt. 

1. Wählen Sie im Feld **Name** den Namen der Pipeline aus, die Sie bearbeiten möchten.

1. Wählen Sie auf der Pipelinedetails-Seite **Edit** aus. 

1. Wählen Sie auf der Seite **Bearbeiten** für die Aktion, die Sie bearbeiten möchten, die Option **Phase bearbeiten** aus.

1. Wählen Sie **Automatisierte Stufenkonfiguration:** und wählen Sie dann **Automatisches Rollback bei Stufenausfall konfigurieren** aus. Speichern Sie die Änderungen an Ihrer Pipeline.  
![\[Ein Beispiel für einen Bearbeitungsbildschirm zur Konfiguration einer Rollback-Stage in CodePipeline.\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/images/rollback-configure.png)

## Konfigurieren Sie eine Phase für automatisches Rollback (CLI)
<a name="stage-rollback-auto-cli"></a>

 AWS CLI Um die Phase „Fehlgeschlagen“ so zu konfigurieren, dass sie automatisch zur letzten erfolgreichen Ausführung zurückkehrt, verwenden Sie die Befehle zum Erstellen oder Aktualisieren einer Pipeline, wie unter [Eine Pipeline, Phasen und Aktionen erstellen](pipelines-create.md) und [Eine Pipeline bearbeiten in CodePipeline](pipelines-edit.md) beschrieben.
+ Ö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 das automatische Rollback für ein Staging-Objekt 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": "ROLLBACK"
                  }
              }
  ```

  *Weitere Informationen zur Konfiguration von Fehlerbedingungen für das Stage-Rollback finden Sie [FailureConditions](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_FailureConditions.html)in der API-Referenz. CodePipeline *

## Konfigurieren Sie eine Phase für das automatische Rollback ()CloudFormation
<a name="stage-rollback-auto-cfn"></a>

Verwenden Sie CloudFormation den `OnFailure` Parameter, um eine Phase so zu konfigurieren, dass sie bei einem Fehler automatisch zurückgesetzt wird. Bei einem Fehler führt die Phase automatisch ein Rollback zur letzten erfolgreichen Ausführung durch.

```
OnFailure:
     Result: ROLLBACK
```
+ Aktualisieren Sie die Vorlage wie im folgenden Codeausschnitt gezeigt. Im folgenden Beispiel wird das automatische Rollback für ein Staging-Objekt mit dem Namen konfiguriert: `Release` 

  ```
  AppPipeline: 
    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: ROLLBACK
      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 der Fehlerbedingungen für das Stage-Rollback finden Sie weiter unten `StageDeclaration` im [OnFailure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stagedeclaration.html#cfn-codepipeline-pipeline-stagedeclaration-onfailure)Benutzerhandbuch.CloudFormation *

# Den Rollback-Status in der Ausführungsliste anzeigen
<a name="stage-rollback-view-listing"></a>

Sie können den Status und die Zielausführungs-ID für eine Rollback-Ausführung anzeigen.

## Den Rollback-Status in der Liste der Ausführungen anzeigen (Konsole)
<a name="stage-rollback-view-listing-console"></a>

Sie können die Konsole verwenden, um den Status und die Zielausführungs-ID für eine Rollback-Ausführung in der Ausführungsliste anzuzeigen. 

**Den Status der Rollback-Ausführung in der Liste der Ausführungen anzeigen (Konsole)**

1. [Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CodePipeline Konsole unter http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Die Namen und der Status aller Pipelines, die mit Ihrer verknüpft AWS-Konto sind, werden angezeigt. 

1. Wählen Sie **unter Name** den Namen der Pipeline aus, die Sie anzeigen möchten.

1. Wählen Sie **History (Verlauf)** aus. In der Liste der Ausführungen wird die Bezeichnung **Rollback** angezeigt.

![\[Ein Beispiel für eine Seite mit dem Ausführungsverlauf, auf der das Rollback-Label angezeigt wird. CodePipeline\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/images/rollback-view-list-console.png)


Wählen Sie die Ausführungs-ID aus, für die Sie Details anzeigen möchten.

## Rollback-Status anzeigen mit `list-pipeline-executions` (CLI)
<a name="stage-rollback-view-listing-cli"></a>

Sie können die CLI verwenden, um den Status und die Zielausführungs-ID für eine Rollback-Ausführung anzuzeigen. 
+ Öffnen Sie ein Terminal (Linux, macOS oder Unix) oder eine Befehlszeile (Windows) und verwenden Sie den AWS CLI , um den **list-pipeline-executions** Befehl auszuführen:

  ```
  aws codepipeline list-pipeline-executions --pipeline-name MyFirstPipeline 
  ```

  Dieser Befehl gibt eine Liste aller abgeschlossenen Ausführungen zurück, die mit der Pipeline verknüpft sind.

  Das folgende Beispiel zeigt die zurückgegebenen Daten für eine Pipeline mit dem Namen, *MyFirstPipeline* wo die Pipeline durch eine Rollback-Ausführung gestartet wurde.

  ```
  {
      "pipelineExecutionSummaries": [
          {
              "pipelineExecutionId": "eb7ebd36-353a-4551-90dc-18ca5EXAMPLE",
              "status": "Succeeded",
              "startTime": "2024-04-16T09:00:28.185000+00:00",
              "lastUpdateTime": "2024-04-16T09:00:29.665000+00:00",
              "sourceRevisions": [
                  {
                      "actionName": "Source",
                      "revisionId": "revision_ID",
                      "revisionSummary": "Added README.txt",
                      "revisionUrl": "console-URL"
                  }
              ],
              "trigger": {
                  "triggerType": "ManualRollback",
                  "triggerDetail": "{arn:aws:sts::<account_ID>:assumed-role/<role>"}"
              },
              "executionMode": "SUPERSEDED",
              "executionType": "ROLLBACK",
              "rollbackMetadata": {
                  "rollbackTargetPipelineExecutionId": "f15b38f7-20bf-4c9e-94ed-2535eEXAMPLE"
              }
          },
          {
              "pipelineExecutionId": "fcd61d8b-4532-4384-9da1-2aca1EXAMPLE",
              "status": "Succeeded",
              "startTime": "2024-04-16T08:58:56.601000+00:00",
              "lastUpdateTime": "2024-04-16T08:59:04.274000+00:00",
              "sourceRevisions": [
                  {
                      "actionName": "Source",
                      "revisionId": "revision_ID",
                      "revisionSummary": "Added README.txt",
                      "revisionUrl": "console_URL"
                  }
              ],
              "trigger": {
                  "triggerType": "StartPipelineExecution",
                  "triggerDetail": "arn:aws:sts::<account_ID>:assumed-role/<role>"
              },
              "executionMode": "SUPERSEDED"
          },
          {
              "pipelineExecutionId": "5cd064ca-bff7-425f-8653-f41d9EXAMPLE",
              "status": "Failed",
              "startTime": "2024-04-24T19:19:50.781000+00:00",
              "lastUpdateTime": "2024-04-24T19:19:52.119000+00:00",
              "sourceRevisions": [
                  {
                      "actionName": "Source",
                      "revisionId": "<revision_ID>",
                      "revisionSummary": "Edited README.txt",
                      "revisionUrl": "<revision_URL>"
                  }
              ],
              "trigger": {
                  "triggerType": "AutomatedRollback",
                  "triggerDetail": "{\"FailedPipelineExecutionId\":\"b2e77fa5-9285-4dea-ae66-4389EXAMPLE\"}"
              },
              "executionMode": "SUPERSEDED",
              "executionType": "ROLLBACK",
              "rollbackMetadata": {
                  "rollbackTargetPipelineExecutionId": "5efcfa68-d838-4ca7-a63b-4a743EXAMPLE"
              }
           },
  ```

# Details zum Rollback-Status anzeigen
<a name="stage-rollback-view-details"></a>

Sie können den Status und die Zielausführungs-ID für eine Rollback-Ausführung anzeigen.

## Den Rollback-Status auf der Detailseite (Konsole) anzeigen
<a name="stage-rollback-view-details-console"></a>

Sie können die Konsole verwenden, um den Status und die Ziel-Pipeline-Ausführungs-ID für eine Rollback-Ausführung anzuzeigen.

![\[Eine Beispielstatusseite mit dem Feld für die Ausführungs-ID der Zielpipeline in CodePipeline.\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/images/rollback-view-status-console.png)


## Rollback-Details anzeigen mit `get-pipeline-execution` (CLI)
<a name="stage-rollback-view-details-cli"></a>

Pipeline-Ausführungen, für die ein Rollback vorgenommen wurde, werden in der Ausgabe zum Abrufen der Pipeline-Ausführung angezeigt.
+ Um Informationen zu einer Pipeline anzuzeigen, führen Sie den Befehl **[get-pipeline-execution](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/get-pipeline-execution.html)** unter Angabe des eindeutigen Namens der Pipeline aus. Wenn Sie beispielsweise Details zu einer Pipeline mit dem Namen *MyFirstPipeline* anzeigen möchten, geben Sie Folgendes ein:

  ```
  aws codepipeline get-pipeline-execution --pipeline-name MyFirstPipeline --pipeline-execution-id 3f658bd1-69e6-4448-ba3e-79007EXAMPLE
  ```

  Dieser Befehl gibt die Struktur der Pipeline zurück.

  Das folgende Beispiel zeigt die zurückgegebenen Daten für einen Teil einer Pipeline mit dem Namen*MyFirstPipeline*, in dem die Rollback-Ausführungs-ID und die Metadaten angezeigt werden.

  ```
  {
      "pipelineExecution": {
          "pipelineName": "MyFirstPipeline",
          "pipelineVersion": 6,
          "pipelineExecutionId": "2004a94e-8b46-4c34-a695-c8d20EXAMPLE",
          "status": "Succeeded",
          "artifactRevisions": [
              {
                  "name": "SourceArtifact",
                  "revisionId": "<ID>",
                  "revisionSummary": "Added README.txt",
                  "revisionUrl": "<console_URL>"
              }
          ],
          "trigger": {
              "triggerType": "ManualRollback",
              "triggerDetail": "arn:aws:sts::<account_ID>:assumed-role/<role>"
          },
          "executionMode": "SUPERSEDED",
          "executionType": "ROLLBACK",
          "rollbackMetadata": {
              "rollbackTargetPipelineExecutionId": "4f47bed9-6998-476c-a49d-e60beEXAMPLE"
          }
      }
  }
  ```

## Rollback-Status anzeigen mit `get-pipeline-state` (CLI)
<a name="w2aac34c10c17b9"></a>

Pipeline-Ausführungen, für die ein Rollback vorgenommen wurde, werden in der Ausgabe zum Abrufen des Pipeline-Status angezeigt.
+ Um Informationen zu einer Pipeline anzuzeigen, führen Sie den Befehl **get-pipeline-state** unter Angabe des eindeutigen Namens der Pipeline aus. Um beispielsweise Statusdetails zu einer Pipeline mit dem Namen anzuzeigen*MyFirstPipeline*, geben Sie Folgendes ein:

  ```
  aws codepipeline get-pipeline-state --name MyFirstPipeline
  ```

  Das folgende Beispiel zeigt die zurückgegebenen Daten mit dem Rollback-Ausführungstyp.

  ```
  {
      "pipelineName": "MyFirstPipeline",
      "pipelineVersion": 7,
      "stageStates": [
          {
              "stageName": "Source",
              "inboundExecutions": [],
              "inboundTransitionState": {
                  "enabled": true
              },
              "actionStates": [
                  {
                      "actionName": "Source",
                      "currentRevision": {
                          "revisionId": "<Revision_ID>"
                      },
                      "latestExecution": {
                          "actionExecutionId": "13bbd05d-b439-4e35-9c7e-887cb789b126",
                          "status": "Succeeded",
                          "summary": "update",
                          "lastStatusChange": "2024-04-24T20:13:45.799000+00:00",
                          "externalExecutionId": "10cbEXAMPLEID"
                      },
                      "entityUrl": "console-url",
                      "revisionUrl": "console-url"
                  }
              ],
              "latestExecution": {
                  "pipelineExecutionId": "cf95a8ca-0819-4279-ae31-03978EXAMPLE",
                  "status": "Succeeded"
              }
          },
          {
              "stageName": "deploys3",
              "inboundExecutions": [],
              "inboundTransitionState": {
                  "enabled": true
              },
              "actionStates": [
                  {
                      "actionName": "s3deploy",
                      "latestExecution": {
                          "actionExecutionId": "3bc4e3eb-75eb-45b9-8574-8599aEXAMPLE",
                          "status": "Succeeded",
                          "summary": "Deployment Succeeded",
                          "lastStatusChange": "2024-04-24T20:14:07.577000+00:00",
                          "externalExecutionId": "mybucket/SampleApp.zip"
                      },
                      "entityUrl": "console-URL"
                  }
              ],
              "latestExecution": {
                  "pipelineExecutionId": "fdf6b2ae-1472-4b00-9a83-1624eEXAMPLE",
                  "status": "Succeeded",
                  "type": "ROLLBACK"
              }
          }
      ],
      "created": "2024-04-15T21:29:01.635000+00:00",
      "updated": "2024-04-24T20:12:24.480000+00:00"
  }
  ```