

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

# Edit pipa di CodePipeline
<a name="pipelines-edit"></a>

Pipeline menjelaskan proses rilis yang AWS CodePipeline ingin Anda ikuti, termasuk tahapan dan tindakan yang harus diselesaikan. Anda dapat mengedit pipeline untuk menambah atau menghapus elemen-elemen ini. Namun, saat Anda mengedit pipeline, nilai seperti nama pipeline atau metadata pipeline tidak dapat diubah.

Anda dapat mengedit jenis pipeline, variabel, dan pemicu menggunakan halaman edit pipeline. Anda juga dapat menambahkan atau mengubah tahapan dan tindakan dalam pipeline Anda.

Tidak seperti membuat pipeline, mengedit pipeline tidak menjalankan kembali revisi terbaru melalui pipeline. Jika Anda ingin menjalankan revisi terbaru melalui pipeline yang baru saja Anda edit, Anda harus menjalankannya kembali secara manual. Jika tidak, pipeline yang diedit berjalan saat berikutnya Anda membuat perubahan ke lokasi sumber yang dikonfigurasi di tahap sumber. Untuk informasi, lihat [Mulai pipa secara manual](pipelines-rerun-manually.md).

Anda dapat menambahkan tindakan ke pipeline yang berada di AWS Wilayah yang berbeda dari pipeline Anda. Jika Layanan AWS adalah penyedia untuk suatu tindakan, dan jenis tindakan/tipe penyedia ini berada di AWS Wilayah yang berbeda dari pipeline Anda, ini adalah tindakan Lintas wilayah. Untuk informasi selengkapnya tentang tindakan lintas wilayah, lihat[Menambahkan tindakan Lintas wilayah di CodePipeline](actions-create-cross-region.md).

CodePipeline menggunakan metode deteksi perubahan untuk memulai pipeline Anda saat perubahan kode sumber didorong. Metode deteksi ini didasarkan pada jenis sumber: 
+ CodePipeline menggunakan Amazon CloudWatch Events untuk mendeteksi perubahan di repositori CodeCommit sumber atau bucket sumber Amazon S3 Anda.

**catatan**  
Sumber daya deteksi perubahan dibuat secara otomatis saat Anda menggunakan konsol. Saat Anda menggunakan konsol untuk membuat atau mengedit pipeline, sumber daya tambahan dibuat untuk Anda. Jika Anda menggunakan AWS CLI untuk membuat pipa, Anda harus membuat sumber daya tambahan sendiri. Untuk informasi selengkapnya tentang membuat atau memperbarui CodeCommit pipeline, lihat[Buat EventBridge aturan untuk CodeCommit sumber (CLI)](pipelines-trigger-source-repo-changes-cli.md). Untuk informasi selengkapnya tentang menggunakan CLI untuk membuat atau memperbarui pipeline Amazon S3, lihat. [Buat EventBridge aturan untuk sumber Amazon S3 (CLI)](create-cloudtrail-S3-source-cli.md)

**Topics**
+ [Mengedit pipeline (konsol)](#pipelines-edit-console)
+ [Mengedit pipeline (AWS CLI)](#pipelines-edit-cli)

## Mengedit pipeline (konsol)
<a name="pipelines-edit-console"></a>

Anda dapat menggunakan CodePipeline konsol untuk menambah, mengedit, atau menghapus tahapan dalam pipeline dan untuk menambah, mengedit, atau menghapus tindakan dalam satu tahap.

Saat Anda memperbarui pipeline, selesaikan semua tindakan yang berjalan CodePipeline dengan baik dan kemudian gagal dalam tahapan dan eksekusi pipeline di mana tindakan yang sedang berjalan selesai. Saat pipeline diperbarui, Anda harus menjalankan kembali pipeline Anda. Untuk informasi selengkapnya tentang menjalankan pipeline, lihat[Mulai pipa secara manual](pipelines-rerun-manually.md).

**Untuk mengedit pipeline**

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-nama semua pipeline yang terkait dengan AWS akun Anda ditampilkan.

1. Di **Nama**, pilih nama pipeline yang ingin Anda edit. Ini membuka tampilan rinci dari pipa, termasuk keadaan masing-masing tindakan di setiap tahap pipa.

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

1. Untuk mengedit jenis pipeline, pilih **Edit** pada kartu **Edit: Pipeline properties**. Pilih salah satu opsi berikut, lalu pilih **Selesai**.
   + Pipa tipe **V1** memiliki struktur JSON yang berisi pipa standar, tahap, dan parameter tingkat aksi.
   + Pipa tipe **V2** memiliki struktur yang sama dengan tipe V1, bersama dengan dukungan parameter tambahan, seperti pemicu dan variabel tingkat pipa.

   Jenis pipa berbeda dalam karakteristik dan harga. Untuk informasi selengkapnya, lihat [Jenis pipa](pipeline-types.md).

1. Untuk mengedit variabel pipeline, pilih **Edit variabel** pada kartu **Edit: Variables**. Tambahkan atau ubah variabel untuk level pipeline, lalu pilih **Selesai**.

   Untuk informasi lebih lanjut tentang variabel di tingkat pipa, lihat[Referensi variabel](reference-variables.md). Untuk tutorial dengan variabel tingkat pipa yang dilewatkan pada saat eksekusi pipeline, lihat. [Tutorial: Gunakan variabel tingkat pipa](tutorials-pipeline-variables.md)
**catatan**  
Meskipun opsional untuk menambahkan variabel pada tingkat pipa, untuk pipeline yang ditentukan dengan variabel pada tingkat pipa di mana tidak ada nilai yang disediakan, eksekusi pipeline akan gagal.

1. Untuk mengedit pemicu pipeline, pilih **Edit pemicu pada kartu** **Edit: Pemicu**. Tambahkan atau ubah pemicu, lalu pilih **Selesai**.

   Untuk informasi selengkapnya tentang menambahkan pemicu, lihat langkah-langkah untuk membuat koneksi ke Bitbucket Cloud, GitHub (melalui GitHub Aplikasi), Server GitHub Perusahaan, GitLab .com, atau GitLab dikelola sendiri, seperti. [GitHub koneksi](connections-github.md)

1. Untuk mengedit tahapan dan tindakan pada halaman **Edit**, lakukan salah satu hal berikut:
   + Untuk mengedit panggung, pilih **Edit tahap**. Anda dapat menambahkan tindakan secara serial dan paralel dengan tindakan yang ada:

     Anda juga dapat mengedit tindakan dalam tampilan ini dengan memilih ikon edit untuk tindakan tersebut. Untuk menghapus tindakan, pilih ikon hapus pada tindakan itu.
   + Untuk mengedit tindakan, pilih ikon edit untuk tindakan itu, lalu pada **tindakan Edit**, ubah nilainya. Item yang ditandai dengan tanda bintang (**\$1**) diperlukan.
     + Untuk nama dan cabang CodeCommit repositori, muncul pesan yang menunjukkan aturan Amazon CloudWatch Events yang akan dibuat untuk pipeline ini. Jika Anda menghapus CodeCommit sumbernya, muncul pesan yang menunjukkan aturan Amazon CloudWatch Events yang akan dihapus.
     + Untuk bucket sumber Amazon S3, muncul pesan yang menunjukkan aturan dan AWS CloudTrail jejak CloudWatch Acara Amazon yang akan dibuat untuk pipeline ini. Jika Anda menghapus sumber Amazon S3, muncul pesan yang menunjukkan aturan dan AWS CloudTrail jejak CloudWatch Acara Amazon yang akan dihapus. Jika AWS CloudTrail jejak digunakan oleh jaringan pipa lain, jejak tidak dihapus dan peristiwa data dihapus.
   + Untuk menambahkan tahap, pilih **\$1 Tambahkan tahap** pada titik di pipeline tempat Anda ingin menambahkan panggung. Berikan nama untuk panggung, dan kemudian tambahkan setidaknya satu tindakan ke dalamnya. Item yang ditandai dengan tanda bintang (**\$1**) diperlukan.
   + Untuk menghapus panggung, pilih ikon hapus pada tahap itu. Panggung dan semua tindakannya dihapus.
   + Untuk mengonfigurasi tahap untuk memutar kembali secara otomatis pada kegagalan, pilih **Edit tahap**, lalu pilih kotak centang **Konfigurasikan rollback otomatis pada** kegagalan panggung.

   Misalnya, jika Anda ingin menambahkan aksi serial ke tahap dalam pipeline:

   1. Pada tahap di mana Anda ingin menambahkan tindakan Anda, pilih **Edit tahap**, lalu pilih **\$1 Tambahkan grup tindakan**. 

   1. 

      Di **Edit tindakan**, di **Nama tindakan**, masukkan nama tindakan Anda. Daftar **penyedia Action** menampilkan opsi penyedia berdasarkan kategori. Cari kategori (misalnya, **Deploy**). Di bawah kategori, pilih penyedia (misalnya, **AWS CodeDeploy**). Di **Wilayah**, pilih AWS Wilayah tempat sumber daya dibuat atau tempat Anda berencana membuatnya. Bidang **Region** menentukan tempat AWS sumber daya dibuat untuk tipe tindakan dan jenis penyedia ini. Bidang ini hanya menampilkan tindakan di mana penyedia tindakan adalah Layanan AWS. Bidang **Region** default ke AWS Region yang sama dengan pipeline Anda.

      Untuk contoh menambahkan penyedia tindakan dan menggunakan bidang default untuk setiap penyedia, lihat[Buat pipeline khusus (konsol)](pipelines-create.md#pipelines-create-console). 

      Untuk menambahkan CodeBuild sebagai tindakan build atau tindakan pengujian ke tahap, lihat [Menggunakan CodePipeline dengan CodeBuild untuk Menguji Kode dan Menjalankan Build](https://docs.aws.amazon.com/codebuild/latest/userguide/how-to-create-pipeline.html) di *Panduan CodeBuild Pengguna*.
**catatan**  
Beberapa penyedia tindakan, seperti GitHub, mengharuskan Anda untuk terhubung ke situs web penyedia sebelum Anda dapat menyelesaikan konfigurasi tindakan. Saat Anda terhubung ke situs web penyedia, pastikan Anda menggunakan kredensialnya untuk situs web tersebut. Jangan gunakan AWS kredensialnya. 

   1. Setelah selesai mengonfigurasi tindakan Anda, pilih **Simpan**.
**catatan**  
Anda tidak dapat mengganti nama panggung dalam tampilan konsol. Anda dapat menambahkan panggung dengan nama yang ingin Anda ubah, lalu hapus yang lama. Pastikan Anda telah menambahkan semua tindakan yang Anda inginkan pada tahap itu sebelum Anda menghapus yang lama.

1. Setelah selesai mengedit pipeline, pilih **Simpan** untuk kembali ke halaman ringkasan.
**penting**  
Setelah Anda menyimpan perubahan Anda, Anda tidak dapat membatalkannya. Anda harus mengedit pipa lagi. Jika revisi berjalan melalui pipeline saat Anda menyimpan perubahan, proses tidak selesai. Jika Anda ingin komit atau perubahan tertentu dijalankan melalui pipeline yang diedit, Anda harus menjalankannya secara manual melalui pipeline. Jika tidak, komit atau perubahan berikutnya berjalan secara otomatis melalui pipeline.

1. Untuk menguji tindakan Anda, pilih **Rilis perubahan** untuk memproses komit itu melalui pipeline dan komit perubahan ke sumber yang ditentukan dalam tahap sumber pipeline. Atau ikuti langkah-langkah [Mulai pipa secara manual](pipelines-rerun-manually.md) untuk menggunakan AWS CLI untuk melepaskan perubahan secara manual.

## Mengedit pipeline (AWS CLI)
<a name="pipelines-edit-cli"></a>

Anda dapat menggunakan **update-pipeline** perintah untuk mengedit pipeline.

Saat Anda memperbarui pipeline, selesaikan semua tindakan yang berjalan CodePipeline dengan baik dan kemudian gagal dalam tahapan dan eksekusi pipeline di mana tindakan yang sedang berjalan selesai. Saat pipeline diperbarui, Anda harus menjalankan kembali pipeline Anda. Untuk informasi selengkapnya tentang menjalankan pipeline, lihat[Mulai pipa secara manual](pipelines-rerun-manually.md).

**penting**  
Meskipun Anda dapat menggunakan AWS CLI untuk mengedit pipeline yang menyertakan tindakan mitra, Anda tidak boleh mengedit JSON dari tindakan mitra secara manual. Jika Anda melakukannya, tindakan mitra gagal setelah Anda memperbarui pipeline.

**Untuk mengedit pipeline**

1. Buka sesi terminal (Linux, macOS, atau Unix) atau command prompt (Windows) dan jalankan **get-pipeline** perintah untuk menyalin struktur pipeline ke file JSON. Misalnya, untuk pipeline bernama**MyFirstPipeline**, masukkan perintah berikut: 

   ```
   aws codepipeline get-pipeline --name MyFirstPipeline >pipeline.json
   ```

   Perintah ini tidak mengembalikan apa pun, tetapi file yang Anda buat akan muncul di direktori tempat Anda menjalankan perintah.

1. Buka file JSON di editor teks biasa dan modifikasi struktur file untuk mencerminkan perubahan yang ingin Anda buat pada pipeline. Misalnya, Anda dapat menambah atau menghapus tahapan, atau menambahkan tindakan lain ke tahap yang ada.

   Contoh berikut menunjukkan bagaimana Anda akan menambahkan tahap penyebaran lain dalam file pipeline.json. Tahap ini berjalan setelah tahap penyebaran pertama bernama*Staging*. 
**catatan**  
Ini hanya sebagian dari file, bukan seluruh struktur. Untuk informasi selengkapnya, lihat [CodePipeline referensi struktur pipa](reference-pipeline-structure.md).

   ```
   ,      
           {
               "name": "Staging",
               "actions": [
                       {
                           "inputArtifacts": [
                               {
                                   "name": "MyApp"
                               }
                           ],
                           "name": "Deploy-CodeDeploy-Application",
                           "actionTypeId": {
                               "category": "Deploy",
                               "owner": "AWS",
                               "version": "1",
                               "provider": "CodeDeploy"
                           },
                           "outputArtifacts": [],
                           "configuration": {
                               "ApplicationName": "CodePipelineDemoApplication",
                               "DeploymentGroupName": "CodePipelineDemoFleet"
                           },
                           "runOrder": 1
                       }
                   ]
                },      
           {
               "name": "Production",
               "actions":  [
                       {
                           "inputArtifacts": [
                               {
                                   "name": "MyApp"
                               }
                           ],
                           "name": "Deploy-Second-Deployment",
                           "actionTypeId": {
                               "category": "Deploy",
                               "owner": "AWS",
                               "version": "1",
                               "provider": "CodeDeploy"
                           },
                           "outputArtifacts": [],
                           "configuration": {
                           "ApplicationName": "CodePipelineDemoApplication",
                           "DeploymentGroupName": "CodePipelineProductionFleet"
                           },
                           "runOrder": 1
                       }
                   ]
           }
       ]
   }
   ```

   Untuk informasi tentang penggunaan CLI untuk menambahkan tindakan persetujuan ke pipeline, lihat. [Tambahkan tindakan persetujuan manual ke pipeline di CodePipeline](approvals-action-add.md)

   Pastikan `PollForSourceChanges` parameter dalam file JSON Anda diatur sebagai berikut: 

   ```
                   "PollForSourceChanges": "false",
   ```

   CodePipeline menggunakan Amazon CloudWatch Events untuk mendeteksi perubahan di repositori CodeCommit sumber dan cabang atau bucket sumber Amazon S3 Anda. Langkah selanjutnya mencakup instruksi untuk membuat sumber daya ini secara manual. Menyetel bendera untuk `false` menonaktifkan pemeriksaan berkala, yang tidak diperlukan saat Anda menggunakan metode deteksi perubahan yang disarankan. 

1. Untuk menambahkan tindakan build, test, atau deploy di Region yang berbeda dari pipeline, Anda harus menambahkan hal berikut ke struktur pipeline. Untuk petunjuk mendetail, lihat [Menambahkan tindakan Lintas wilayah di CodePipeline](actions-create-cross-region.md).
   + Tambahkan `Region` parameter ke struktur pipeline tindakan Anda.
   + Gunakan `artifactStores` parameter untuk menentukan bucket artefak untuk setiap Wilayah tempat Anda memiliki tindakan.

1. Jika Anda bekerja dengan struktur pipa yang diambil menggunakan **get-pipeline** perintah, Anda harus memodifikasi struktur dalam file JSON. Anda harus menghapus `metadata` baris dari file sehingga **update-pipeline** perintah dapat menggunakannya. Hapus bagian dari struktur pipa di file JSON (`"metadata": { }`garis dan`"created"`,`"pipelineARN"`, dan `"updated"` bidang).

   Misalnya, hapus baris berikut dari struktur: 

   ```
   "metadata": {  
     "pipelineArn": "arn:aws:codepipeline:region:account-ID:pipeline-name",
     "created": "date",
     "updated": "date"
     }
   ```

   Simpan file tersebut.

1. Jika Anda menggunakan CLI untuk mengedit pipeline, Anda harus secara manual mengelola sumber daya deteksi perubahan yang disarankan untuk pipeline Anda:
   + Untuk CodeCommit repositori, Anda harus membuat aturan CloudWatch Acara, seperti yang dijelaskan dalam. [Buat EventBridge aturan untuk CodeCommit sumber (CLI)](pipelines-trigger-source-repo-changes-cli.md)
   + Untuk sumber Amazon S3, Anda harus membuat aturan dan AWS CloudTrail jejak CloudWatch Acara, seperti yang dijelaskan dalam. [Menghubungkan ke tindakan sumber Amazon S3 yang menggunakan dan EventBridge AWS CloudTrail](create-cloudtrail-S3-source.md)

1. Untuk menerapkan perubahan Anda, jalankan **update-pipeline** perintah, dengan menentukan file JSON pipeline:
**penting**  
Pastikan untuk menyertakan `file://` sebelum nama file. Diperlukan dalam perintah ini.

   ```
   aws codepipeline update-pipeline --cli-input-json file://pipeline.json
   ```

   Perintah ini mengembalikan seluruh struktur pipa yang diedit.
**catatan**  
**update-pipeline**Perintah menghentikan pipa. Jika revisi sedang dijalankan melalui pipeline saat Anda menjalankan **update-pipeline** perintah, proses itu dihentikan. Anda harus memulai pipeline secara manual untuk menjalankan revisi itu melalui pipeline yang diperbarui.

1. Buka CodePipeline konsol dan pilih pipeline yang baru saja Anda edit.

   Pipeline menunjukkan perubahan Anda. Lain kali Anda membuat perubahan ke lokasi sumber, pipa menjalankan revisi itu melalui struktur pipa yang direvisi.

1. Untuk menjalankan revisi terakhir secara manual melalui struktur pipa yang direvisi, jalankan perintah. **start-pipeline-execution** Untuk informasi selengkapnya, lihat [Mulai pipa secara manual](pipelines-rerun-manually.md).

Untuk informasi selengkapnya tentang struktur pipeline dan nilai yang diharapkan, lihat [CodePipeline referensi struktur pipa](reference-pipeline-structure.md) dan [Referensi AWS CodePipeline API](https://docs.aws.amazon.com/codepipeline/latest/APIReference).