Menerapkan pembaruan artefak ke instans EC2 Amazon lokal menggunakan AWS CodePipeline - AWS Prescriptive Guidance

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

Arsitektur

Diagram berikut menunjukkan contoh aplikasi web Java yang disebarkan ke EC2 instance lokal dengan menggunakan arsitektur pola ini.

Contoh aplikasi web Java yang digunakan pada instance EC2

Diagram menunjukkan alur kerja berikut:

  1. Pengembang melakukan perubahan kode ke CodeCommit repositori Git pribadi.

  2. CodePipeline digunakan CodeBuild untuk memulai build dan menambahkan artefak baru yang siap digunakan di bucket Amazon Simple Storage Service (Amazon S3).

  3. CodePipeline menggunakan CodeDeploy agen untuk melakukan pra-instal dependensi apa pun yang diperlukan untuk perubahan artefak penerapan.

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

TugasDeskripsiKeterampilan yang dibutuhkan

Buat repositori.

Buat CodeCommit repositori.

Administrator sistem AWS

Kloning repositori.

Connect ke CodeCommit repositori dengan mengkloning repositori.

Pengembang aplikasi

Dorong kode sumber ke repositori jarak jauh.

  1. Buat komit untuk menambahkan appspec.yml file buildspec.yml dan ke repositori lokal Anda.

  2. Dorong komit dari repositori lokal Anda ke repositori jarak jauh CodeCommit .

Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Buat proyek build.

  1. Masuk ke AWS Management Console, buka CodeBuild konsol AWS, lalu pilih Buat proyek build.

  2. Untuk nama Proyek, masukkan nama proyek Anda.

  3. Untuk penyedia Sumber, pilih AWS CodeCommit.

  4. Untuk Repositori, pilih repositori tempat Anda ingin membangun pipeline kode.

  5. Untuk gambar Lingkungan, pilih Gambar terkelola atau Gambar kustom.

  6. Untuk sistem operasi, pilih Amazon Linux 2.

    catatan

    Amazon Linux 2 mendekati akhir dukungan. Untuk informasi selengkapnya, lihat Amazon Linux 2 FAQs.

  7. Untuk RunTime(s), pilih Standar.

  8. Untuk Gambar, pilih aws/codebuild/amazonlinux2-aarch64-standard:2.0.

  9. Untuk versi Gambar, pilih Selalu gunakan gambar terbaru untuk versi runtime ini.

  10. Untuk peran Layanan, pilih Peran layanan baru atau Peran layanan yang ada.

  11. Untuk spesifikasi Build, pilih Use a buildspec file atau Insert build command.

  12. (Opsional) Pilih Tambahkan artefak untuk mengonfigurasi artefak.

  13. (Opsional) Untuk mengunggah log keluaran build ke Amazon CloudWatch, pilih CloudWatch log.

  14. Pilih Buat proyek build.

Administrator AWS, Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Buat aplikasi.

  1. Masuk ke AWS Management Console, buka CodeDeploy konsol AWS, lalu pilih Buat aplikasi.

  2. Untuk nama Aplikasi, masukkan nama untuk aplikasi Anda.

  3. Untuk platform Compute, pilih EC2/On-premise.

  4. Pilih Buat aplikasi dan kemudian pilih Buat grup penyebaran.

  5. Untuk nama grup Deployment, masukkan nama.

  6. catatan

    Buat peran layanan untuk CodeDeploy. : Peran layanan harus memiliki izin untuk memberikan CodeDeploy akses ke lingkungan target Anda.

  7. Untuk peran Layanan, pilih peran layanan yang Anda buat di langkah 6.

  8. Untuk jenis Deployment, pilih In-place atau Biru/hijau berdasarkan kebutuhan bisnis Anda.

  9. Untuk konfigurasi Lingkungan, pilih opsi yang memenuhi persyaratan bisnis Anda.

  10. (Opsional) Buat grup target untuk penyeimbang beban Anda secara terpisah di EC2 konsol Amazon, lalu kembali ke halaman Buat grup penerapan CodeDeploy konsol AWS untuk memilih penyeimbang beban dan grup target Anda.

  11. Pilih Buat grup penyebaran.

Administrator sistem AWS, Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Buat pipa.

  1. Masuk ke AWS Management Console, buka CodePipeline konsol AWS, lalu pilih Buat pipeline.

  2. Untuk nama Pipeline, masukkan nama untuk pipeline.

  3. Untuk peran Layanan, pilih Peran layanan baru atau Peran layanan yang ada.

  4. Untuk Nama peran, masukkan nama peran Anda.

  5. Di bagian Pengaturan lanjutan, untuk penyimpanan Artifact, pilih Lokasi default jika Anda ingin Amazon S3 membuat bucket dan menyimpan artefak di bucket. Untuk menggunakan bucket S3 yang ada, pilih Lokasi kustom. Pilih Berikutnya.

  6. Untuk penyedia Sumber, pilih AWS CodeCommit.

  7. Untuk nama Repositori, pilih repositori yang Anda kloning sebelumnya. Untuk nama Branch, pilih cabang kode sumber Anda.

  8. Untuk opsi Ubah deteksi, pilih CloudWatch Acara Amazon (disarankan) atau AWS CodePipeline. Pilih Berikutnya.

  9. Untuk penyedia Build, pilih AWS CodeBuild.

  10. Untuk Nama Proyek, pilih proyek build yang Anda buat di bagian Create a CodeBuild project for the application pada pola ini.

  11. Pilih opsi build, lalu pilih Next.

  12. Untuk penyedia Deploy, pilih AWS CodeDeploy.

  13. Pilih nama aplikasi dan grup penyebaran, lalu pilih Berikutnya.

  14. Pilih Buat pipeline.

Administrator sistem AWS, Pengembang aplikasi

Sumber daya terkait

Lampiran

Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip