Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menerapkan pembaruan artefak ke instans EC2 Amazon lokal menggunakan AWS CodePipeline
Akash Kumar dan Sandeep Reddy Jogammagari, Amazon Web Services
Ringkasan
Pola ini menyediakan contoh kode dan langkah-langkah untuk membuat pipeline di Amazon Web Services (AWS) Cloud dan menerapkan artefak yang diperbarui ke instans Amazon Elastic Compute Cloud ( EC2Amazon) lokal di AWS. CodePipeline Pola ini didasarkan pada praktik integrasi berkelanjutan. Praktik ini mengotomatiskan pembuatan dan pengujian kode dengan sistem kontrol versi berbasis Git. Dalam pola ini, Anda membuat dan mengkloning repositori kode dengan menggunakan AWS. CodeCommit Kemudian, Anda membuat proyek dan mengonfigurasi kode sumber Anda dengan menggunakan AWS CodeBuild. Terakhir, Anda membuat aplikasi dan mengonfigurasi lingkungan targetnya untuk EC2 instans lokal dengan menggunakan AWS. CodeDeploy
Prasyarat dan batasan
Prasyarat
Akun AWS yang aktif
Tag yang ditentukan pengguna untuk mengidentifikasi EC2 instance selama penerapan
CodeDeploy agen, diinstal pada EC2 instance
Perangkat lunak runtime Anda yang diperlukan, diinstal pada instans EC2
Server web Apache Tomcat
, diinstal CloudWatch Acara Amazon (opsional)
Sebuah key pair untuk login ke web server (opsional)
Proyek aplikasi Apache Maven untuk aplikasi web
Arsitektur
Diagram berikut menunjukkan contoh aplikasi web Java yang disebarkan ke EC2 instance lokal dengan menggunakan arsitektur pola ini.

Diagram menunjukkan alur kerja berikut:
Pengembang melakukan perubahan kode ke CodeCommit repositori Git pribadi.
CodePipeline digunakan CodeBuild untuk memulai build dan menambahkan artefak baru yang siap digunakan di bucket Amazon Simple Storage Service (Amazon S3).
CodePipeline menggunakan CodeDeploy agen untuk melakukan pra-instal dependensi apa pun yang diperlukan untuk perubahan artefak penerapan.
CodePipeline menggunakan CodeDeploy agen untuk menyebarkan artefak dari bucket S3 untuk menargetkan instance. EC2 Jika diaktifkan, CloudWatch Peristiwa dapat secara otomatis memulai pipeline ketika terjadi perubahan pada kode sumber.
Tumpukan teknologi
CodeBuild
CodeCommit
CodeDeploy
CodePipeline
CloudWatch Acara (opsional)
Alat
AWS CodeBuild adalah layanan build terkelola penuh yang membantu Anda mengompilasi kode sumber, menjalankan pengujian unit, dan menghasilkan artefak yang siap digunakan. CodeBuild mengkompilasi kode sumber Anda, menjalankan pengujian unit, dan menghasilkan artefak yang siap digunakan.
AWS CodeCommit adalah layanan kontrol versi yang membantu Anda menyimpan dan mengelola repositori Git secara pribadi, tanpa perlu mengelola sistem kontrol sumber Anda sendiri.
AWS CodeDeploy mengotomatiskan penerapan ke Amazon Elastic Compute Cloud (Amazon EC2) atau instans lokal, fungsi AWS Lambda, atau layanan Amazon Elastic Container Service (Amazon ECS).
AWS CodePipeline membantu Anda memodelkan dan mengonfigurasi berbagai tahapan rilis perangkat lunak dengan cepat dan mengotomatiskan langkah-langkah yang diperlukan untuk merilis perubahan perangkat lunak secara terus menerus.
Kode
Pola ini mencakup lampiran berikut:
buildspec.yml— File ini menentukan tindakan yang CodeBuild diperlukan untuk membangun dan membuat artefak untuk penyebaran.appspec.yml— File ini menentukan tindakan yang CodeDeploy diperlukan untuk membuat aplikasi dan mengonfigurasi lingkungan target untuk instance lokal EC2 .install_dependencies.sh— File ini menginstal dependensi untuk server web Apache Tomcat.start_server.sh— File ini memulai server web Apache Tomcat.stop_server.sh— File ini menghentikan server web Apache Tomcat.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat repositori. | Administrator sistem AWS | |
Kloning repositori. | Connect ke CodeCommit repositori dengan mengkloning repositori. | Pengembang aplikasi |
Dorong kode sumber ke repositori jarak jauh. |
| Pengembang aplikasi |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat proyek build. |
| Administrator AWS, Pengembang aplikasi |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat aplikasi. |
| Administrator sistem AWS, Pengembang aplikasi |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat pipa. |
| Administrator sistem AWS, Pengembang aplikasi |
Sumber daya terkait
Lampiran
Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip