

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

# Tutorial: Buat pipeline empat tahap
<a name="tutorials-four-stage-pipeline"></a>

Sekarang setelah Anda membuat pipeline pertama di [Tutorial: Buat pipeline sederhana (ember S3)](tutorials-simple-s3.md) atau[Tutorial: Buat pipeline sederhana (CodeCommit repositori)](tutorials-simple-codecommit.md), Anda dapat mulai membuat pipeline yang lebih kompleks. Tutorial ini akan memandu Anda melalui pembuatan pipeline empat tahap yang menggunakan GitHub repositori untuk sumber Anda, server build Jenkins untuk membangun proyek, dan CodeDeploy aplikasi untuk menyebarkan kode yang dibangun ke server pementasan. Diagram berikut menunjukkan pipa tiga tahap awal.

![Diagram yang menunjukkan tahap sumber dengan aksi sumber, tahap pembuatan dengan tindakan Jenkins, dan tahap penerapan dengan tindakan penerapan.](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/flow-codepipeline-codecommit-jenkins.png)


Setelah pipeline dibuat, Anda akan mengeditnya untuk menambahkan tahap dengan tindakan pengujian untuk menguji kode, juga menggunakan Jenkins. 

Sebelum Anda dapat membuat pipeline ini, Anda harus mengkonfigurasi sumber daya yang diperlukan. Misalnya, jika Anda ingin menggunakan GitHub repositori untuk kode sumber Anda, Anda harus membuat repositori sebelum Anda dapat menambahkannya ke pipeline. Sebagai bagian dari pengaturan, tutorial ini memandu Anda melalui pengaturan Jenkins pada instance EC2 untuk tujuan demonstrasi. 

**penting**  
Banyak tindakan yang Anda tambahkan ke pipeline dalam prosedur ini melibatkan AWS sumber daya yang perlu Anda buat sebelum membuat pipeline. AWS sumber daya untuk tindakan sumber Anda harus selalu dibuat di AWS Wilayah yang sama tempat Anda membuat pipeline. Misalnya, jika Anda membuat pipeline di Wilayah AS Timur (Ohio), CodeCommit repositori Anda harus berada di Wilayah AS Timur (Ohio).   
Anda dapat menambahkan tindakan lintas wilayah saat membuat pipeline. AWS sumber daya untuk tindakan lintas wilayah harus berada di AWS Wilayah yang sama di mana Anda berencana untuk menjalankan tindakan. Untuk informasi selengkapnya, lihat [Menambahkan tindakan Lintas wilayah di CodePipeline](actions-create-cross-region.md).

**penting**  
Sebagai bagian dari pembuatan pipa, ember artefak S3 yang disediakan oleh pelanggan akan digunakan CodePipeline untuk artefak. (Ini berbeda dari bucket yang digunakan untuk aksi sumber S3.) Jika bucket artefak S3 berada di akun yang berbeda dari akun untuk pipeline Anda, pastikan bucket artefak S3 dimiliki oleh Akun AWS yang aman dan dapat diandalkan.

Sebelum Anda memulai tutorial ini, Anda seharusnya sudah menyelesaikan prasyarat umum di. [Memulai dengan CodePipeline](getting-started-codepipeline.md)

**Topics**
+ [Langkah 1: Prasyarat lengkap](#tutorials-four-stage-pipeline-prerequisites)
+ [Langkah 2: Buat pipeline di CodePipeline](#tutorials-four-stage-pipeline-pipeline-create)
+ [Langkah 3: Tambahkan tahap lain ke pipeline Anda](#tutorials-four-stage-pipeline-add-stage)
+ [Langkah 4: Bersihkan Sumber Daya](#tutorials-four-stage-pipeline-clean-up)

## Langkah 1: Prasyarat lengkap
<a name="tutorials-four-stage-pipeline-prerequisites"></a>

Untuk mengintegrasikan dengan Jenkins, AWS CodePipeline mengharuskan Anda untuk menginstal CodePipeline Plugin untuk Jenkins pada setiap instance Jenkins yang ingin Anda gunakan. CodePipeline Anda juga harus mengonfigurasi pengguna atau peran IAM khusus yang akan digunakan untuk izin antara proyek Jenkins Anda dan. CodePipeline Cara termudah untuk mengintegrasikan Jenkins dan CodePipeline menginstal Jenkins pada instans EC2 yang menggunakan peran instans IAM yang Anda buat untuk integrasi Jenkins. Agar tautan dalam pipeline agar tindakan Jenkins berhasil terhubung, Anda harus mengonfigurasi pengaturan proxy dan firewall di server atau instans EC2 untuk memungkinkan koneksi masuk ke port yang digunakan oleh proyek Jenkins Anda. Pastikan Anda telah mengonfigurasi Jenkins untuk mengautentikasi pengguna dan menerapkan kontrol akses sebelum Anda mengizinkan koneksi pada port tersebut (misalnya, 443 dan 8443 jika Anda telah mengamankan Jenkins untuk hanya menggunakan koneksi HTTPS, atau 80 dan 8080 jika Anda mengizinkan koneksi HTTP). Untuk informasi lebih lanjut, lihat [Mengamankan Jenkins](https://wiki.jenkins.io/display/JENKINS/Securing+Jenkins).

**catatan**  
Tutorial ini menggunakan contoh kode dan mengkonfigurasi langkah-langkah build yang mengonversi sampel dari Haml ke HTML. Anda dapat mengunduh kode sampel sumber terbuka dari GitHub repositori dengan mengikuti langkah-langkahnya. [Salin atau kloning sampel ke dalam repositori GitHub](#tutorials-four-stage-pipeline-prerequisites-github) Anda akan membutuhkan seluruh sampel di GitHub repositori Anda, bukan hanya file.zip.   
Tutorial ini juga mengasumsikan bahwa:  
Anda akrab dengan menginstal dan mengelola Jenkins dan membuat proyek Jenkins.
Anda telah menginstal Rake dan permata Haml untuk Ruby di komputer atau instance yang sama yang meng-host proyek Jenkins Anda.
Anda telah mengatur variabel lingkungan sistem yang diperlukan sehingga perintah Rake dapat dijalankan dari terminal atau baris perintah (misalnya, pada sistem Windows, memodifikasi variabel PATH untuk menyertakan direktori tempat Anda menginstal Rake).

**Topics**
+ [Salin atau kloning sampel ke dalam repositori GitHub](#tutorials-four-stage-pipeline-prerequisites-github)
+ [Buat peran IAM untuk digunakan untuk integrasi Jenkins](#tutorials-four-stage-pipeline-prerequisites-jenkins-iam-role)
+ [Instal dan konfigurasikan Jenkins dan CodePipeline Plugin untuk Jenkins](#tutorials-four-stage-pipeline-prerequisites-jenkins-configure)

### Salin atau kloning sampel ke dalam repositori GitHub
<a name="tutorials-four-stage-pipeline-prerequisites-github"></a>

**Untuk mengkloning sampel dan mendorong ke repositori GitHub**

1. Unduh kode sampel dari GitHub repositori, atau kloning repositori ke komputer lokal Anda. Ada dua paket sampel: 
   + [Jika Anda akan menerapkan sampel Anda ke instans Amazon Linux, RHEL, atau Ubuntu Server, pilih \_linux.zip. codepipeline-jenkins-aws-codedeploy](https://github.com/awslabs/aws-codepipeline-jenkins-aws-codedeploy_linux) 
   + Jika Anda akan menerapkan sampel Anda ke instance Windows Server, pilih [CodePipeline-Jenkins- .zip](https://github.com/awslabs/AWSCodePipeline-Jenkins-AWSCodeDeploy_windows). AWSCodeDeploy\_Windows

1. Dari repositori, pilih **Fork** untuk mengkloning repo sampel menjadi repo di akun Github Anda. Lihat informasi yang lebih lengkap dalam [dokumentasi GitHub](https://help.github.com/articles/create-a-repo/).

### Buat peran IAM untuk digunakan untuk integrasi Jenkins
<a name="tutorials-four-stage-pipeline-prerequisites-jenkins-iam-role"></a>

Sebagai praktik terbaik, pertimbangkan untuk meluncurkan instans EC2 untuk meng-host server Jenkins Anda dan menggunakan peran IAM untuk memberikan instance izin yang diperlukan untuk berinteraksi dengannya. CodePipeline

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di konsol IAM, di panel navigasi, pilih **Peran, lalu pilih **Buat** peran**.

1. Di bawah **Pilih jenis entitas tepercaya**, pilih **Layanan AWS**. Di bawah **Pilih layanan yang akan menggunakan peran ini**, pilih **EC2**. Di bawah **Pilih kasus penggunaan Anda**, pilih **EC2**. 

1. Pilih **Berikutnya: Izin**. Pada halaman **Lampirkan kebijakan izin**, pilih kebijakan `AWSCodePipelineCustomActionAccess` terkelola, lalu pilih **Berikutnya: Tag**. Pilih **Berikutnya: Tinjauan**.

1. Pada halaman **Tinjauan**, dalam **nama Peran**, masukkan nama peran yang akan dibuat khusus untuk integrasi Jenkins (misalnya,{{JenkinsAccess}}), lalu pilih **Buat peran**.

Saat Anda membuat instans EC2 di mana Anda akan menginstal Jenkins, di **Langkah 3: Konfigurasikan Detail Instance**, pastikan Anda memilih peran instance (misalnya,{{JenkinsAccess}}).

[Untuk informasi selengkapnya tentang peran instans dan Amazon EC2, lihat [peran IAM untuk Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html), [Menggunakan Peran IAM untuk Memberikan Izin ke Aplikasi yang Berjalan di Instans Amazon EC2, dan Membuat peran untuk mendelegasikan](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-usingrole-ec2instance.html) izin ke. Layanan AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-creatingrole-service.html)

### Instal dan konfigurasikan Jenkins dan CodePipeline Plugin untuk Jenkins
<a name="tutorials-four-stage-pipeline-prerequisites-jenkins-configure"></a>

**Untuk menginstal Jenkins dan CodePipeline Plugin untuk Jenkins**

1. Buat instans EC2 tempat Anda akan menginstal Jenkins, dan di **Langkah 3: Konfigurasikan Detail Instance**, pastikan Anda memilih peran instans yang Anda buat (misalnya,{{JenkinsAccess}}). Untuk informasi selengkapnya tentang membuat instans EC2, lihat [Meluncurkan instans Amazon EC2 di Panduan](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance_linux.html) Pengguna Amazon *EC2*. 
**catatan**  
Jika Anda sudah memiliki sumber daya Jenkins yang ingin Anda gunakan, Anda dapat melakukannya, tetapi Anda harus membuat pengguna IAM khusus, menerapkan kebijakan `AWSCodePipelineCustomActionAccess` terkelola ke pengguna itu, dan kemudian mengonfigurasi dan menggunakan kredensil akses untuk pengguna tersebut di sumber daya Jenkins Anda. Jika Anda ingin menggunakan UI Jenkins untuk menyediakan kredensialnya, konfigurasikan Jenkins agar hanya mengizinkan HTTPS. Untuk informasi selengkapnya, lihat [Pemecahan masalah CodePipeline](troubleshooting.md).

1. Instal Jenkins pada instans EC2. Untuk informasi lebih lanjut, lihat dokumentasi Jenkins untuk [menginstal Jenkins](https://www.jenkins.io/doc/book/installing/linux/) dan [memulai dan mengakses Jenkins](https://wiki.jenkins.io/JENKINS/Starting-and-Accessing-Jenkins.html), serta di. [details of integration with Jenkins](integrations-action-type.md#JenkinsInt_2) [Integrasi produk dan layanan dengan CodePipeline](integrations.md)

1. Luncurkan Jenkins, dan di halaman beranda, pilih **Kelola Jenkins**.

1. Pada halaman **Kelola Jenkins**, pilih **Kelola Plugin**.

1. Pilih tab **Tersedia**, dan di kotak pencarian **Filter**, masukkan**AWS CodePipeline**. Pilih **CodePipeline Plugin untuk Jenkins** dari daftar dan pilih **Unduh sekarang dan instal setelah restart**.

1. Pada halaman **Instalasi Plugin/Upgrade**, pilih **Restart Jenkins ketika instalasi selesai dan tidak ada pekerjaan yang berjalan**.

1. Pilih **Kembali ke Dasbor**.

1. Di halaman utama, pilih **Item Baru**.

1. Di **Nama Item**, masukkan nama untuk proyek Jenkins (misalnya,{{MyDemoProject}}). **Pilih **Freestyle project**, lalu pilih OK.**
**catatan**  
Pastikan bahwa nama untuk proyek Anda memenuhi persyaratan untuk CodePipeline. Untuk informasi selengkapnya, lihat [Kuota di AWS CodePipeline](limits.md).

1. Pada halaman konfigurasi untuk proyek, pilih kotak centang **Execute concurrent build jika perlu**. Di **Manajemen Kode Sumber**, pilih **AWS CodePipeline**. Jika Anda telah menginstal Jenkins pada instans EC2 dan mengonfigurasi AWS CLI dengan profil untuk pengguna IAM yang Anda buat untuk integrasi antara CodePipeline dan Jenkins, biarkan semua bidang lainnya kosong.

1. Pilih **Advanced**, dan di **Provider**, masukkan nama untuk penyedia tindakan seperti yang akan muncul di CodePipeline (misalnya,{{MyJenkinsProviderName}}). Pastikan nama ini unik dan mudah diingat. Anda akan menggunakannya ketika Anda menambahkan tindakan build ke pipeline Anda nanti dalam tutorial ini, dan lagi ketika Anda menambahkan tindakan pengujian.
**catatan**  
Nama tindakan ini harus memenuhi persyaratan penamaan untuk tindakan di CodePipeline. Untuk informasi selengkapnya, lihat [Kuota di AWS CodePipeline](limits.md).

1. Di **Build Triggers**, kosongkan kotak centang apa pun, lalu pilih **Poll SCM**. Dalam **Jadwal**, masukkan lima tanda bintang yang dipisahkan oleh spasi, sebagai berikut:

   ```
   * * * * *
   ```

   Jajak pendapat ini dilakukan CodePipeline setiap menit. 

1. Di **Build**, pilih **Add build step**. Pilih **Execute shell** (Amazon Linux, RHEL, atau Ubuntu Server) **Jalankan perintah batch** (Windows Server), lalu masukkan yang berikut ini:

   ```
   rake
   ```
**catatan**  
Pastikan lingkungan Anda dikonfigurasi dengan variabel dan pengaturan yang diperlukan untuk menjalankan rake; jika tidak, build akan gagal.

1. Pilih **Add post-build action**, lalu pilih **AWS CodePipeline Publisher**. Pilih **Tambah**, dan di **Build Output Locations**, biarkan lokasi kosong. Konfigurasi ini adalah default. Ini akan membuat file terkompresi di akhir proses pembuatan.

1. Pilih **Simpan** untuk menyimpan proyek Jenkins Anda.

## Langkah 2: Buat pipeline di CodePipeline
<a name="tutorials-four-stage-pipeline-pipeline-create"></a>

Di bagian tutorial ini, Anda membuat pipeline menggunakan wizard **Create Pipeline**. 

**Untuk membuat proses rilis CodePipeline otomatis**

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).

1. Jika perlu, gunakan pemilih Wilayah untuk mengubah Wilayah ke wilayah tempat sumber daya pipa Anda berada. Misalnya, jika Anda membuat sumber daya untuk tutorial sebelumnya di`us-east-2`, pastikan pemilih Region diatur ke US East (Ohio).

   Untuk informasi selengkapnya tentang Wilayah dan titik akhir yang tersedia CodePipeline, lihat [AWS CodePipeline titik akhir dan](https://docs.aws.amazon.com/general/latest/gr/codepipeline.html) kuota.

1. Pada halaman **Selamat Datang**, halaman **Memulai**, atau halaman **Pipelines**, pilih **Buat pipeline**.

1. Pada **Langkah 1: Pilih halaman opsi pembuatan**, di bawah **Opsi pembuatan**, pilih opsi **Build custom pipeline**. Pilih **Berikutnya**.

1. Pada **Langkah 2: Pilih halaman pengaturan pipeline**, dalam **nama Pipeline**, masukkan nama untuk pipeline Anda.

1. CodePipeline menyediakan pipa tipe V1 dan V2, yang berbeda dalam karakteristik dan harga. Jenis V2 adalah satu-satunya jenis yang dapat Anda pilih di konsol. Untuk informasi selengkapnya, lihat [jenis pipa](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html?icmpid=docs_acp_help_panel). Untuk informasi tentang harga CodePipeline, lihat [Harga](https://aws.amazon.com/codepipeline/pricing/).

1. Dalam **peran Layanan**, pilih **Peran layanan baru** CodePipeline untuk memungkinkan membuat peran layanan di IAM.

1. **Biarkan pengaturan di bawah **Pengaturan lanjutan** pada defaultnya, dan pilih Berikutnya.**

1. Pada **Langkah 3: Tambahkan halaman tahap sumber**, di **penyedia Sumber**, pilih **GitHub**.

1. Di bawah **Koneksi**, pilih koneksi yang ada atau buat yang baru. Untuk membuat atau mengelola koneksi untuk tindakan GitHub sumber Anda, lihat[GitHub koneksi](connections-github.md).

1. Pada **Langkah 4: Tambahkan tahap build**, pilih **Add Jenkins**. Di **nama Provider**, masukkan nama tindakan yang Anda berikan di CodePipeline Plugin untuk Jenkins (misalnya{{MyJenkinsProviderName}}). Nama ini harus sama persis dengan nama di CodePipeline Plugin untuk Jenkins. Di **URL Server**, masukkan URL instance EC2 tempat Jenkins diinstal. Dalam **nama Proyek**, masukkan nama proyek yang Anda buat di Jenkins, seperti{{MyDemoProject}}, dan kemudian pilih **Berikutnya**.

1. Pada **Langkah 5: Tambahkan tahap pengujian**, pilih **Lewati tahap pengujian**, lalu terima pesan peringatan dengan memilih **Lewati** lagi. 

   Pilih **Berikutnya**.

1. Pada **Langkah 6: Tambahkan tahap penerapan**, gunakan kembali grup CodeDeploy aplikasi dan penyebaran yang Anda buat. [Tutorial: Buat pipeline sederhana (ember S3)](tutorials-simple-s3.md) Di **Penyedia Deploy**, pilih **CodeDeploy**. Di **Nama aplikasi****CodePipelineDemoApplication**, masukkan, atau pilih tombol refresh, lalu pilih nama aplikasi dari daftar. Di **grup Deployment****CodePipelineDemoFleet**, masukkan, atau pilih dari daftar, lalu pilih **Berikutnya**.
**catatan**  
Anda dapat menggunakan CodeDeploy sumber daya Anda sendiri atau membuat yang baru, tetapi Anda mungkin dikenakan biaya tambahan.

1. Pada **Langkah 7: Tinjau**, tinjau informasinya, lalu pilih **Buat pipeline**.

1. Pipa secara otomatis memulai dan menjalankan sampel melalui pipa. Anda dapat melihat pesan kemajuan dan keberhasilan dan kegagalan saat pipeline membangun sampel Haml ke HTML dan menerapkannya sebagai halaman web ke setiap instans Amazon EC2 dalam penerapan. CodeDeploy

## Langkah 3: Tambahkan tahap lain ke pipeline Anda
<a name="tutorials-four-stage-pipeline-add-stage"></a>

Sekarang Anda akan menambahkan tahap pengujian dan kemudian tindakan pengujian ke tahap yang menggunakan tes Jenkins yang disertakan dalam sampel untuk menentukan apakah halaman web memiliki konten apa pun. Tes ini hanya untuk tujuan demonstrasi.

**catatan**  
Jika Anda tidak ingin menambahkan tahap lain ke pipeline, Anda dapat menambahkan tindakan pengujian ke tahap Pementasan pipeline, sebelum atau sesudah tindakan penerapan.

### Tambahkan tahap pengujian ke pipeline Anda
<a name="tutorials-four-stage-pipeline-add-stage-console"></a>

**Topics**
+ [Cari alamat IP dari sebuah instans](#tutorials-four-stage-pipeline-instance-ip-lookup)
+ [Buat proyek Jenkins untuk menguji penerapan](#tutorials-four-stage-pipeline-create-jenkins-project)
+ [Buat tahap keempat](#tutorials-four-stage-pipeline-create-fourth-stage)

#### Cari alamat IP dari sebuah instans
<a name="tutorials-four-stage-pipeline-instance-ip-lookup"></a>

**Untuk memverifikasi alamat IP dari sebuah instance tempat Anda menerapkan kode**

1. **Setelah **Berhasil** ditampilkan untuk status pipeline, di area status untuk tahap Pementasan, pilih Detail.** 

1. Di bagian **Detail Deployment**, di **ID Instance**, pilih ID instans dari salah satu instance yang berhasil diterapkan. 

1. Salin alamat IP instance (misalnya,{{192.168.0.4}}). Anda akan menggunakan alamat IP ini dalam tes Jenkins Anda.

#### Buat proyek Jenkins untuk menguji penerapan
<a name="tutorials-four-stage-pipeline-create-jenkins-project"></a>

**Untuk membuat proyek Jenkins**

1. Pada contoh di mana Anda menginstal Jenkins, buka Jenkins dan dari halaman utama, pilih Item **Baru**.

1.  Di **Nama Item**, masukkan nama untuk proyek Jenkins (misalnya,{{MyTestProject}}). **Pilih **Freestyle project**, lalu pilih OK.**
**catatan**  
Pastikan bahwa nama untuk proyek Anda memenuhi CodePipeline persyaratan. Untuk informasi selengkapnya, lihat [Kuota di AWS CodePipeline](limits.md).

1. Pada halaman konfigurasi untuk proyek, pilih kotak centang **Execute concurrent build jika perlu**. Di **Manajemen Kode Sumber**, pilih **AWS CodePipeline**. Jika Anda telah menginstal Jenkins pada instans EC2 dan mengkonfigurasi AWS CLI dengan profil untuk pengguna IAM yang Anda buat untuk integrasi antara CodePipeline dan Jenkins, biarkan semua bidang lainnya kosong. 
**penting**  
Jika Anda mengonfigurasi proyek Jenkins dan tidak diinstal pada instans Amazon EC2, atau diinstal pada instans EC2 yang menjalankan sistem operasi Windows, lengkapi bidang seperti yang dipersyaratkan oleh host proxy dan pengaturan port Anda, dan berikan kredensi pengguna IAM atau peran yang Anda konfigurasikan untuk integrasi antara Jenkins dan. CodePipeline

1. Pilih **Advanced**, dan di **Kategori**, pilih **Test**. 

1. Di **Provider**, masukkan nama yang sama dengan yang Anda gunakan untuk proyek build (misalnya,{{MyJenkinsProviderName}}). Anda akan menggunakan nama ini ketika Anda menambahkan tindakan pengujian ke pipeline Anda nanti dalam tutorial ini.
**catatan**  
Nama ini harus memenuhi persyaratan CodePipeline penamaan untuk tindakan. Untuk informasi selengkapnya, lihat [Kuota di AWS CodePipeline](limits.md).

1. Di **Build Triggers**, kosongkan kotak centang apa pun, lalu pilih **Poll SCM**. Dalam **Jadwal**, masukkan lima tanda bintang yang dipisahkan oleh spasi, sebagai berikut:

   ```
   * * * * *
   ```

   Jajak pendapat ini dilakukan CodePipeline setiap menit. 

1. Di **Build**, pilih **Add build step**. **Jika Anda menggunakan instance Amazon Linux, RHEL, atau Ubuntu Server, pilih Execute shell.** Kemudian masukkan yang berikut ini, di mana alamat IP adalah alamat instans EC2 yang Anda salin sebelumnya:

   ```
   TEST_IP_ADDRESS={{192.168.0.4}} rake test
   ```

   Jika Anda menyebarkan ke instance Windows Server, pilih **Jalankan perintah batch**, lalu masukkan yang berikut ini, di mana alamat IP adalah alamat instans EC2 yang Anda salin sebelumnya:

   ```
   set TEST_IP_ADDRESS={{192.168.0.4}} rake test
   ```
**catatan**  
Tes ini mengasumsikan port default 80. Jika Anda ingin menentukan port yang berbeda, tambahkan pernyataan port uji, sebagai berikut:   

   ```
   TEST_IP_ADDRESS={{192.168.0.4}} TEST_PORT={{8000}} rake test
   ```

1. Pilih **Add post-build action**, lalu pilih **AWS CodePipeline Publisher**. Jangan pilih **Tambah**.

1. Pilih **Simpan** untuk menyimpan proyek Jenkins Anda.

#### Buat tahap keempat
<a name="tutorials-four-stage-pipeline-create-fourth-stage"></a>

**Untuk menambahkan panggung ke pipeline Anda yang mencakup tindakan uji Jenkins**

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).

1. Di **Nama**, pilih nama pipeline yang Anda buat, MySecondPipeline. 

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

1. Pada halaman **Edit**, pilih **\+ Stage** untuk menambahkan stage segera setelah tahap Build. 

1. Di bidang nama untuk tahap baru, masukkan nama (misalnya,**Testing**), lalu pilih **\+ Tambahkan grup tindakan**. 

1. Dalam **nama Action**, masukkan{{MyJenkinsTest-Action}}. Di **Penyedia uji**, pilih nama penyedia yang Anda tentukan di Jenkins (misalnya,{{MyJenkinsProviderName}}). Dalam **nama Proyek**, masukkan nama proyek yang Anda buat di Jenkins (misalnya,{{MyTestProject}}). **Di **artefak Input**, pilih artefak dari build Jenkins yang nama defaultnya{{BuildArtifact}}, lalu pilih Selesai.**
**catatan**  
Karena tindakan pengujian Jenkins beroperasi pada aplikasi yang dibangun pada langkah pembuatan Jenkins, gunakan artefak build untuk artefak input ke tindakan pengujian.

   Untuk informasi lebih lanjut tentang artefak input dan output dan struktur pipa, lihat. [CodePipeline referensi struktur pipa](reference-pipeline-structure.md)

1. Pada halaman **Edit**, pilih **Simpan perubahan pipeline**. Dalam kotak dialog **Simpan perubahan pipeline**, pilih **Simpan dan lanjutkan**.

1. Meskipun tahap baru telah ditambahkan ke pipeline Anda, status **Tidak ada eksekusi belum** ditampilkan untuk tahap itu karena tidak ada perubahan yang memicu proses pipeline lainnya. Untuk menjalankan sampel melalui pipeline yang direvisi, pada halaman detail pipeline, pilih **Rilis perubahan**. 

   Tampilan pipeline menunjukkan tahapan dan tindakan dalam pipeline Anda dan status revisi yang berjalan melalui empat tahap tersebut. Waktu yang dibutuhkan pipa untuk berjalan melalui semua tahapan akan tergantung pada ukuran artefak, kompleksitas tindakan pembuatan dan pengujian Anda, dan faktor lainnya. 

## Langkah 4: Bersihkan Sumber Daya
<a name="tutorials-four-stage-pipeline-clean-up"></a>

Setelah Anda menyelesaikan tutorial ini, Anda harus menghapus pipeline dan sumber daya yang digunakannya sehingga Anda tidak akan dikenakan biaya untuk terus menggunakan sumber daya tersebut. Jika Anda tidak berniat untuk terus menggunakan CodePipeline, hapus pipeline, lalu CodeDeploy aplikasi dan instans Amazon EC2 yang terkait, dan terakhir, ember Amazon S3 digunakan untuk menyimpan artefak. Anda juga harus mempertimbangkan apakah akan menghapus sumber daya lain, seperti GitHub repositori, jika Anda tidak berniat untuk terus menggunakannya.

**Untuk membersihkan sumber daya yang digunakan dalam tutorial ini**

1. Buka sesi terminal di Linux, macOS, atau mesin Unix lokal Anda, atau prompt perintah di mesin Windows lokal Anda, dan jalankan **delete-pipeline** perintah untuk menghapus pipeline yang Anda buat. Untuk**MySecondPipeline**, Anda akan memasukkan perintah berikut: 

   ```
   aws codepipeline delete-pipeline --name "MySecondPipeline"
   ```

   Perintah ini tidak mengembalikan apa pun.

1. Untuk membersihkan CodeDeploy sumber daya Anda, ikuti petunjuk di [Cleaning Up](https://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-walkthrough.html#getting-started-walkthrough-clean-up).

1. Untuk membersihkan sumber daya instans Anda, hapus instans EC2 tempat Anda menginstal Jenkins. Untuk informasi lebih lanjut, lihat [Membersihkan instans Anda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-clean-up-your-instance.html).

1. Jika Anda tidak bermaksud membuat lebih banyak saluran pipa atau menggunakan CodePipeline lagi, hapus bucket Amazon S3 yang digunakan untuk menyimpan artefak untuk pipeline Anda. Untuk menghapus ember, ikuti petunjuk di [Menghapus ember](https://docs.aws.amazon.com/AmazonS3/latest/UG/DeletingaBucket.html).

1. Jika Anda tidak berniat menggunakan sumber daya lain untuk pipeline ini lagi, pertimbangkan untuk menghapusnya dengan mengikuti panduan untuk sumber daya tertentu. Misalnya, jika Anda ingin menghapus GitHub repositori, ikuti instruksi di [Menghapus repositori di situs](https://help.github.com/articles/deleting-a-repository/) web. GitHub 