

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengkonfigurasi rollback panggung
<a name="stage-rollback"></a>

Anda dapat memutar kembali panggung ke eksekusi yang berhasil di tahap itu. Anda dapat mengkonfigurasi tahap untuk rollback pada kegagalan, atau Anda dapat memutar kembali panggung secara manual. Operasi yang digulung kembali akan menghasilkan eksekusi baru. Eksekusi pipeline target yang dipilih untuk rollback digunakan untuk mengambil revisi sumber dan variabel. 

Jenis eksekusi, baik standar atau rollback, ditampilkan dalam riwayat pipeline, status pipeline, dan detail eksekusi pipeline.

**Topics**
+ [Pertimbangan untuk rollback](#stage-rollback-considerations)
+ [Gulung kembali panggung secara manual](stage-rollback-manual.md)
+ [Konfigurasikan panggung untuk rollback otomatis](stage-rollback-auto.md)
+ [Lihat status rollback dalam daftar eksekusi](stage-rollback-view-listing.md)
+ [Lihat detail status rollback](stage-rollback-view-details.md)

## Pertimbangan untuk rollback
<a name="stage-rollback-considerations"></a>

Pertimbangan untuk rollback tahap adalah sebagai berikut:
+ Anda tidak dapat memutar kembali tahap sumber.
+ Pipeline hanya dapat memutar kembali ke eksekusi sebelumnya jika eksekusi sebelumnya dimulai dalam versi struktur pipa saat ini.
+ Anda tidak dapat memutar kembali ke ID eksekusi target yang merupakan jenis eksekusi rollback.
+ CodePipeline akan menggunakan variabel dan artefak dari eksekusi yang digulirkan kembali.

# Gulung kembali panggung secara manual
<a name="stage-rollback-manual"></a>

Anda dapat memutar kembali panggung secara manual menggunakan konsol atau CLI. Pipeline hanya dapat memutar kembali ke eksekusi sebelumnya jika eksekusi sebelumnya dimulai dalam versi struktur pipa saat ini.

Anda juga dapat mengonfigurasi panggung untuk memutar kembali secara otomatis pada kegagalan seperti yang dijelaskan dalam[Konfigurasikan panggung untuk rollback otomatis](stage-rollback-auto.md). 

## Gulung kembali panggung secara manual (konsol)
<a name="stage-rollback-console"></a>

Anda dapat menggunakan konsol untuk memutar kembali tahap secara manual ke eksekusi pipeline target. Saat panggung diputar kembali, label **Rollback** ditampilkan pada visualisasi pipeline di konsol.

**Gulung kembali panggung secara manual (konsol)**

1. Masuk ke Konsol Manajemen AWS dan buka CodePipeline konsol di [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Nama dan status semua pipeline yang terkait dengan AWS akun Anda ditampilkan. 

1. Dalam **Nama**, pilih nama pipa dengan panggung untuk memutar kembali.  
![\[Contoh diagram pipa dengan dua tahap di CodePipeline.\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/rollback-stage-first.png)

1. Di atas panggung, pilih **Mulai rollback**. Tampilan **Roll back to** page.

1. Pilih eksekusi target yang ingin Anda putar kembali panggung.
**catatan**  
Daftar eksekusi pipa target yang tersedia adalah semua eksekusi dalam versi pipeline saat ini yang dimulai pada 1 Februari 2024.  
![\[Contoh memilih ID eksekusi target di CodePipeline.\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/rollback-stage-dialog.png)

Diagram berikut menunjukkan contoh tahap yang digulung kembali dengan ID eksekusi baru.

![\[Contoh diagram pipa dengan panggung berguling ke belakang CodePipeline.\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/stage-rolled-back.png)


## Putar kembali panggung secara manual (CLI)
<a name="stage-rollback-cli"></a>

Untuk menggunakan AWS CLI untuk memutar kembali panggung secara manual, gunakan `rollback-stage` perintah. 

Anda juga dapat memutar kembali panggung secara manual seperti yang dijelaskan dalam[Gulung kembali panggung secara manual](#stage-rollback-manual). 

**catatan**  
Daftar eksekusi pipa target yang tersedia adalah semua eksekusi dalam versi pipeline saat ini yang dimulai pada 1 Februari 2024.

**Untuk memutar kembali panggung secara manual (CLI)**

1. Perintah CLI untuk rollback manual akan memerlukan ID eksekusi dari eksekusi pipeline yang sebelumnya berhasil di panggung. Untuk mendapatkan ID eksekusi pipeline target yang akan Anda tentukan, gunakan list-pipeline-executions perintah dengan filter yang akan mengembalikan eksekusi yang berhasil di panggung. Buka terminal (Linux, macOS, atau Unix) atau command prompt (Windows) dan gunakan AWS CLI untuk menjalankan `list-pipeline-executions` perintah, menentukan nama pipeline dan filter untuk eksekusi yang berhasil di panggung. Dalam contoh ini, output akan mencantumkan eksekusi pipeline untuk pipeline bernama MyFirstPipeline dan untuk eksekusi yang berhasil dalam tahap bernama. `deploys3` 

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

   Dalam output, salin ID eksekusi dari eksekusi yang sebelumnya berhasil yang ingin Anda tentukan untuk rollback. Anda akan menggunakan ini di langkah berikutnya sebagai ID eksekusi target.

1. Buka terminal (Linux, macOS, atau Unix) atau command prompt (Windows) dan gunakan AWS CLI untuk menjalankan `rollback-stage` perintah, menentukan nama pipeline, nama panggung, dan eksekusi target yang ingin Anda putar kembali. Misalnya, untuk memutar kembali tahap bernama Deploy untuk pipeline bernama*MyFirstPipeline*: 

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

   Output mengembalikan ID eksekusi untuk eksekusi rolled-back baru. Ini adalah ID terpisah yang menggunakan revisi sumber dan parameter eksekusi target yang ditentukan.

# Konfigurasikan panggung untuk rollback otomatis
<a name="stage-rollback-auto"></a>

Anda dapat mengonfigurasi tahapan dalam pipeline untuk memutar kembali secara otomatis pada kegagalan. Ketika tahap gagal, panggung digulung kembali ke eksekusi sukses terbaru. Pipeline hanya dapat memutar kembali ke eksekusi sebelumnya jika eksekusi sebelumnya dimulai dalam versi struktur pipa saat ini. Karena, konfigurasi rollback otomatis adalah bagian dari definisi pipeline, tahap pipeline Anda akan otomatis rollback hanya setelah eksekusi pipeline berhasil dalam tahap pipeline.

## Konfigurasikan panggung untuk rollback otomatis (konsol)
<a name="stage-rollback-auto-console"></a>

Anda dapat memutar kembali tahap ke eksekusi sukses sebelumnya yang ditentukan. Untuk informasi selengkapnya, lihat [RollbackStage](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RollbackStage.html)di *Panduan CodePipeline API*.

**Konfigurasikan panggung untuk rollback otomatis (konsol)**

1. Masuk ke Konsol Manajemen AWS dan buka CodePipeline konsol di [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Nama dan status semua pipeline yang terkait dengan AWS akun Anda ditampilkan. 

1. Di **Nama**, pilih nama pipeline yang ingin Anda edit.

1. Pada halaman detail pipeline, pilih **Edit**. 

1. Pada halaman **Edit**, untuk tindakan yang ingin Anda edit, pilih **Edit tahap**.

1. Pilih **Konfigurasi tahap otomatis:**, lalu pilih **Konfigurasi rollback otomatis pada kegagalan panggung**. Simpan perubahan pada pipeline Anda.  
![\[Contoh layar edit untuk mengonfigurasi tahap mundur yang digulung CodePipeline.\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/rollback-configure.png)

## Konfigurasikan panggung untuk rollback otomatis (CLI)
<a name="stage-rollback-auto-cli"></a>

Untuk menggunakan AWS CLI untuk mengkonfigurasi tahap gagal untuk secara otomatis memutar kembali ke eksekusi sukses terbaru, gunakan perintah untuk membuat atau memperbarui pipeline seperti yang dijelaskan dalam [Buat pipeline, tahapan, dan tindakan](pipelines-create.md) dan[Edit pipa di CodePipeline](pipelines-edit.md).
+ Buka terminal (Linux, macOS, atau Unix) atau command prompt (Windows) dan gunakan AWS CLI untuk menjalankan `update-pipeline` perintah, menentukan kondisi kegagalan dalam struktur pipa. Contoh berikut mengonfigurasi rollback otomatis untuk nama yang dipentaskan: `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"
                  }
              }
  ```

  *Untuk informasi selengkapnya tentang mengonfigurasi kondisi kegagalan untuk rollback tahap, lihat [FailureConditions](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_FailureConditions.html)di Referensi API. CodePipeline *

## Konfigurasikan panggung untuk rollback otomatis ()CloudFormation
<a name="stage-rollback-auto-cfn"></a>

Untuk digunakan CloudFormation untuk mengkonfigurasi panggung untuk memutar kembali secara otomatis pada kegagalan, gunakan `OnFailure` parameter. Pada kegagalan, panggung akan secara otomatis memutar kembali ke eksekusi sukses terbaru.

```
OnFailure:
     Result: ROLLBACK
```
+ Perbarui template seperti yang ditunjukkan pada cuplikan berikut. Contoh berikut mengonfigurasi rollback otomatis untuk nama yang dipentaskan: `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'
  ```

  *Untuk informasi selengkapnya tentang mengonfigurasi kondisi kegagalan untuk rollback tahap, lihat [OnFailure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stagedeclaration.html#cfn-codepipeline-pipeline-stagedeclaration-onfailure)`StageDeclaration`di bawah Panduan Pengguna.CloudFormation *

# Lihat status rollback dalam daftar eksekusi
<a name="stage-rollback-view-listing"></a>

Anda dapat melihat status dan ID eksekusi target untuk eksekusi rollback.

## Lihat status rollback dalam daftar eksekusi (konsol)
<a name="stage-rollback-view-listing-console"></a>

Anda dapat menggunakan konsol untuk melihat status dan ID eksekusi target untuk eksekusi rollback dalam daftar eksekusi. 

**Lihat status eksekusi rollback dalam daftar eksekusi (konsol)**

1. Masuk ke Konsol Manajemen AWS dan buka CodePipeline konsol di [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Nama dan status semua saluran pipa yang terkait dengan Anda Akun AWS ditampilkan. 

1. Di **Nama**, pilih nama pipeline yang ingin Anda lihat.

1. Pilih**riwayat**. Daftar eksekusi menunjukkan label **Rollback**.

![\[Contoh halaman riwayat eksekusi yang menunjukkan label Rollback di. CodePipeline\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/rollback-view-list-console.png)


Pilih ID eksekusi yang ingin Anda lihat detailnya.

## Lihat status rollback dengan (`list-pipeline-executions`CLI)
<a name="stage-rollback-view-listing-cli"></a>

Anda dapat menggunakan CLI untuk melihat status dan ID eksekusi target untuk eksekusi rollback. 
+ Buka terminal (Linux, macOS, atau Unix) atau command prompt (Windows) dan gunakan AWS CLI untuk menjalankan perintah: **list-pipeline-executions**

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

  Perintah ini mengembalikan daftar semua eksekusi selesai yang terkait dengan pipeline.

  Contoh berikut menunjukkan data yang dikembalikan untuk pipeline bernama *MyFirstPipeline* tempat eksekusi rollback memulai pipeline.

  ```
  {
      "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"
              }
           },
  ```

# Lihat detail status rollback
<a name="stage-rollback-view-details"></a>

Anda dapat melihat status dan ID eksekusi target untuk eksekusi rollback.

## Lihat status rollback pada halaman detail (konsol)
<a name="stage-rollback-view-details-console"></a>

Anda dapat menggunakan konsol untuk melihat status dan target ID eksekusi pipeline untuk eksekusi rollback.

![\[Halaman status contoh yang menunjukkan bidang ID eksekusi pipeline target di CodePipeline.\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/rollback-view-status-console.png)


## Lihat detail rollback dengan (`get-pipeline-execution`CLI)
<a name="stage-rollback-view-details-cli"></a>

Eksekusi pipeline yang telah diputar kembali akan ditampilkan dalam output untuk mendapatkan eksekusi pipeline.
+ Untuk melihat detail tentang pipeline, jalankan **[get-pipeline-execution](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/get-pipeline-execution.html)** perintah, dengan menentukan nama unik pipeline. Misalnya, untuk melihat detail tentang pipeline bernama*MyFirstPipeline*, masukkan yang berikut ini:

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

  Perintah ini mengembalikan struktur pipa.

  Contoh berikut menunjukkan data yang dikembalikan untuk sebagian dari pipeline bernama*MyFirstPipeline*, di mana ID eksekusi rollback dan metadata ditampilkan.

  ```
  {
      "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"
          }
      }
  }
  ```

## Lihat status rollback dengan (`get-pipeline-state`CLI)
<a name="w2aac34c10c17b9"></a>

Eksekusi pipa yang telah diputar kembali akan ditampilkan dalam output untuk mendapatkan status pipa.
+ Untuk melihat detail tentang pipeline, jalankan **get-pipeline-state** perintah, dengan menentukan nama unik pipeline. Misalnya, untuk melihat detail status tentang pipeline bernama*MyFirstPipeline*, masukkan yang berikut ini:

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

  Contoh berikut menunjukkan data yang dikembalikan dengan tipe eksekusi rollback.

  ```
  {
      "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"
  }
  ```