Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat pipeline dan AMI menggunakan CodePipeline dan HashiCorp Packer
Akash Kumar, Amazon Web Services
Ringkasan
Pemberitahuan: AWS CodeCommit tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada AWS CodeCommit dapat terus menggunakan layanan seperti biasa. Pelajari selengkapnya
Pola ini menyediakan contoh kode dan langkah-langkah untuk membuat pipeline di Amazon Web Services (AWS) Cloud dengan menggunakan AWS CodePipeline dan Amazon Machine Image (AMI) dengan menggunakan HashiCorp Packer. Pola ini didasarkan pada praktik integrasi berkelanjutan, yang 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, buat proyek dan konfigurasikan kode sumber Anda dengan menggunakan AWS CodeBuild. Terakhir, buat AMI yang akan berkomitmen ke repositori Anda.
Prasyarat dan batasan
Prasyarat
Akun AWS yang aktif
AMI Amazon Linux untuk meluncurkan instans Amazon Elastic Compute Cloud (Amazon EC2)
HashiCorp Packer
0.12.3 atau yang lebih baru CloudWatch Acara Amazon (opsional)
Amazon CloudWatch Log (opsional)
Arsitektur
Diagram berikut menunjukkan contoh kode aplikasi yang mengotomatiskan pembuatan AMI dengan menggunakan arsitektur pola ini.

Diagram menunjukkan alur kerja berikut:
Pengembang melakukan perubahan kode ke CodeCommit repositori Git pribadi. Kemudian, CodePipeline gunakan CodeBuild untuk memulai build dan menambahkan artefak baru yang siap digunakan ke bucket Amazon Simple Storage Service (Amazon S3).
CodeBuild menggunakan Packer untuk menggabungkan dan mengemas AMI berdasarkan template JSON. Jika diaktifkan, CloudWatch Peristiwa dapat secara otomatis memulai pipeline ketika terjadi perubahan pada kode sumber.
Tumpukan teknologi
CodeBuild
CodeCommit
CodePipeline
CloudWatch Acara (opsional)
Alat
AWS CodeBuild — AWS CodeBuild adalah layanan build yang dikelola sepenuhnya di cloud. CodeBuild mengkompilasi kode sumber Anda, menjalankan pengujian unit, dan menghasilkan artefak yang siap digunakan.
AWS CodeCommit — AWS CodeCommit adalah layanan kontrol versi yang memungkinkan Anda menyimpan dan mengelola repositori Git secara pribadi di AWS Cloud. CodeCommit menghilangkan kebutuhan bagi Anda untuk mengelola sistem kontrol sumber Anda sendiri atau khawatir tentang skala infrastrukturnya.
AWS CodePipeline — AWS CodePipeline adalah layanan pengiriman berkelanjutan yang dapat Anda gunakan untuk memodelkan, memvisualisasikan, dan mengotomatiskan langkah-langkah yang diperlukan untuk merilis perangkat lunak Anda.
HashiCorp Packer
— HashiCorp Packer adalah alat open-source untuk mengotomatisasi pembuatan gambar mesin identik dari konfigurasi sumber tunggal. Packer ringan, berjalan pada setiap sistem operasi utama, dan menciptakan gambar mesin untuk beberapa platform secara paralel.
Kode
Pola ini mencakup lampiran berikut:
buildspec.yml— File ini digunakan CodeBuild untuk membangun dan membuat artefak untuk penyebaran.amazon-linux_packer-template.json— File ini menggunakan Packer untuk membuat AMI Amazon Linux.
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. |
| Pengembang aplikasi, administrator sistem AWS |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Nama pipa |
| Pengembang aplikasi, administrator sistem AWS |
Sumber daya terkait
Lampiran
Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip