menggunakan AWS CodePipeline
Dalam tutorial ini, Anda akan mempelajari cara membuat pipeline rilis perangkat lunak otomatis yang menerapkan aplikasi sampel asli. Anda akan membuat pipeline menggunakan AWS CodePipeline, sebuah layanan yang membangun, menguji, dan menerapkan kode Anda setiap kali terjadi perubahan kode. Anda akan menggunakan akun GitHub Anda, bucket Amazon Simple Storage Service (S3), atau repositori AWS CodeCommit sebagai lokasi sumber untuk kode aplikasi sampel. Anda juga akan menggunakan AWS Elastic Beanstalk sebagai target penerapan untuk aplikasi sampel. Pipeline Anda yang sudah selesai akan dapat mendeteksi perubahan yang dibuat pada repositori sumber yang berisi aplikasi sampel, kemudian memperbarui aplikasi sampel asli Anda.
Penerapan berkelanjutan memungkinkan Anda menerapkan revisi pada lingkungan produksi secara otomatis tanpa persetujuan eksplisit dari pengembang, yang mengotomatiskan seluruh proses rilis perangkat lunak.
Semua yang dilakukan dalam tutorial ini memenuhi syarat untuk tingkat gratis.
Mengelola Sumber Daya AWS Anda
Masuk ke KonsolPipeline penerapan berkelanjutan Anda akan memerlukan lingkungan target yang berisi server virtual, atau instans Amazon EC2, tempatnya akan menerapkan kode sampel. Anda akan menyiapkan lingkungan ini sebelum membuat pipeline.
a. Untuk menyederhanakan proses menyiapkan dan mengonfigurasikan instans EC2 untuk tutorial ini, Anda akan memulai cepat lingkungan menggunakan AWS Elastic Beanstalk. Elastic Beanstalk memungkinkan Anda dengan mudah meng-hosting aplikasi web tanpa perlu meluncurkan, mengonfigurasikan, atau mengoperasikan server virtual Anda sendiri. Elastic Beanstalk akan secara otomatis menyediakan dan mengoperasikan infrastruktur (misal, server virtual, penyeimbang muatan, dll.) serta menyediakan stack aplikasi (misal, OS, bahasa dan kerangka kerja, server web dan aplikasi, dll.) untuk Anda.
b. Pilih PHP dari menu menurun, kemudian klik Luncurkan Sekarang.
Catatan: Jika Anda telah membuat aplikasi Elastic Beanstalk sebelumnya, klik: Buat Aplikasi Baru di sudut kanan atas. Beri nama untuk aplikasi Anda dan buat lingkungan server web baru. Pilih PHP sebagai platform Anda dan Instans Tunggal sebagai tipe lingkungan Anda. Jika Anda berencana untuk masuk dari jarak jauh ke instans Anda, pilih pasangan kunci. Atau, biarkan nilai default untuk opsi tersisa dan buat lingkungan untuk pipeline penerapan berkelanjutan Anda.
c. Elastic Beanstalk akan mulai membuat lingkungan sampel untuk Anda menerapkan aplikasi. Elastic Beanstalk akan membuat instans Amazon EC2, grup keamanan, Grup Auto Scaling, bucket Amazon S3, alarm Amazon CloudWatch, dan nama domain untuk aplikasi Anda.
Catatan: Ini mungkin perlu waktu beberapa menit untuk diselesaikan.
Dalam langkah ini, Anda akan menarik salinan kode aplikasi sampe dan memilih sumber untuk meng-hosting kode. Pipeline akan mengambil kode dari sumber, kemudian menjalankan tindakan pada kode.
Anda dapat menggunakan salah satu dari tiga opsi sebagai sumber Anda: repositori GitHub, bucket Amazon S3, atau repositori AWS CodeCommit. Pilih preferensi Anda dan ikuti langkah-langkah di bawah:
Di langkah ini, Anda akan membuat dan mengonfigurasikan pipeline sederhana dengan dua tindakan: sumber dan terapkan. Anda akan memberi CodePipeline lokasi repositori sumber dan lingkungan penerapan Anda.
a. Klik di sini untuk membuka konsol AWS CodePipeline.
- Di halaman Selamat Datang, klik Buat pipeline.
- Jika ini adalah pertama kalinya Anda menggunakan AWS CodePipeline, sebuah halaman pengantar akan muncul sebagai ganti Selamat Datang. Klik Mulai.
b. Di halaman Langkah 1: Nama:
- Nama pipeline: masukkan nama untuk pipeline Anda, DemoPipeline.
- Klik Langkah berikutnya.
Catatan: Setelah membuat pipeline, Anda tidak dapat mengubah namanya.
c. Di halaman Langkah 2: Sumber, pilih lokasi sumber yang Anda pilih dan ikuti langkah-langlah di bawah:
d. Sebuah pipeline penerapan berkelanjutan yang sebenarnya memerlukan tahap pembangunan, tempat kode dikompilasi dan unit diuji. CodePipeline memungkinkan Anda memasangkan penyedia build pilihan Anda ke pipeline Anda. Meski demikian, dalam tutorial ini Anda akan melewatkan tahap pembangunan.
- Di halaman Langkah 3: Bangun, pilih Tidak Ada Bangun.
- Klik Langkah berikutnya.
e. Di halaman Langkah 4: Beta:
- Penyedia penerapan: Klik AWS Elastic Beanstalk.
- Nama aplikasi: Klik Aplikasi Elastic Beanstalk Pertama Saya.
- Nama lingkungan: Klik Lingkungan Default.
- Klik Langkah berikutnya.
Catatan: Nama "Beta" sebenarnya adalah nama yang diberikan secara default ke tahap pipeline ini, sama seperti "Sumber" menjadi nama yang diberikan ke tahap pertama pipeline.
f. Di halaman Langkah 5: Peran Layanan:
- Peran Layanan: Klik Buat peran.
- Anda akan diarahkan ke halaman konsol IAM yang menguraikan peran Layanan AWS CodePipeline yang akan dibuat untuk Anda. Klik Izinkan
- Setelah membuat peran, Anda akan dikembalikan ke halaman Langkah 5: Peran Layanan, tempat Layanan AWS CodePipeline muncul di nama Peran. Klik Langkah berikutnya.
Catatan: Pembuatan peran layanan hanya diperlukan saat pertama kali Anda membuat pipeline di AWS CodePipeline. Jika peran layanan telah dibuat, Anda akan dapat memilihnya dari daftar menurun peran. Karena daftar menurun menampilkan semua peran layanan IAM yang terkait dengan akun Anda, jika Anda memilih nama yan berbeda dari default, pastikan nama tersebut dapat dikenali sebagai peran layanan untuk AWS CodePipeline.
Di langkah ini, Anda akan meluncurkan pipeline Anda. Setelah pipeline Anda dibuat, pipeline akan mulai berjalan secara otomatis. Pertama, pipeline akan mendeteksi kode aplikasi sampel di lokasi sumber Anda, membundel file, kemudian memindahkannya ke tahap kedua yang telah Anda tentukan. Selama tahap ini, pipeline akan meneruskan kode ke Elastic Beanstalk, yang berisi instans EC2 yang akan menjadi host untuk kode Anda. Elastic Beanstalk akan menangani penerapan kode ke instans EC2.
a. Di halaman Langkah 6: Tinjau, tinjau informasi dan klik Buat pipeline.
b. Setelah pipeline Anda dibuat, halaman status pipeline akan muncul dan pipeline akan secara otomatis mulai berjalan. Anda dapat melihat kemajuan serta pesan keberhasilan dan kegagalan saat pipeline menjalankan setiap tindakan.
Untuk memverifikasi keberhasilan pipeline berjalan, pantau kemajuan pipeline saat pipeline berpindah ke setiap tahap. Status setiap tahap akan berubah dari Belum ada eksekusi ke Sedang Berjalan, kemudian ke Berhasil atau Gagal. Pipeline seharusnya menyelesaikan operasi pertama dalam beberapa menit.
c. Di area status untuk tahap Beta, klik AWS Elastic Beanstalk.
d. Konsol AWS Elastic Beanstalk akan terbuka dengan detail penerapan.
- Klik lingkungan bernama Default-Environment yang Anda buat sebelumnya.
e. Klik URL yang muncul di bagian kanan atas halaman untuk melihat situs web sampel yang Anda terapkan.
Di langkah ini, Anda akan merevisi kode sampe dan menerapkan perubahan pada repositori. CodePipeline akan mendeteksi kode sampel yang diperbarui, kemudian secara otomatis memulai penerapannya ke instans EC2 Anda melalui Elastic Beanstalk.
Harap diingat bahwa halaman web sampel yang Anda terapkan mengacu pada AWS CodeDeploy, sebuah layanan yang mengotomatiskan penerapan kode. Di CodePipeline, CodeDeploy menjadi alternatif untuk menggunakan Elastic Beanstalk untuk tindakan penerapan. Mari kita perbarui kode sampel agar kode menyatakan dengan benar bahwa Anda menerapkan sampel menggunakan Elastic Beanstalk.
d. Kembali ke pipeline di konsol CodePipeline. Dalam beberapa menit, Anda akan melihat Sumber berubah ke biru, yang menunjukkan bahwa pipeline telah mendeteksi perubahan yang Anda buat pada repositori sumber. Setelah perubahan ini terjadi, pipeline akan otomatis memindahkan kode yang diperbarui ke Elastic Beanstalk.
- Setelah status pipeline menampilkan Berhasil, di area status untuk tahap Beta, klik AWS Elastic Beanstalk.
e. Konsol AWS Elastic Beanstalk akan terbuka dengan detail penerapan. Pilih lingkungan bernama Default-Environment yang Anda buat sebelumnya.
f. Klik URL yang muncul di bagian kanan atas halaman untuk melihat situs web sampel lagi. Teks Anda telah diperbarui secara otomatis melalui pipeline penerapan berkelanjutan!
Untuk menghindari biaya di masa depan, Anda akan menghapus semua sumber daya yang Anda luncurkan di sepanjang tutorial ini, yang meliputi pipeline, aplikasi Elastic Beanstalk, dan sumber yang Anda siapkan untuk menjadi host kode.
a. Pertama, Anda akan menghapus pipeline.
- Di tampilan pipeline, klik Edit.
- Klik Hapus.
- Ketik nama bucket pipeline Anda dan klik Hapus.
b. Kedua, hapus aplikasi Elastic Beanstalk Anda:
- Kunjungi konsol Elastic Beanstalk.
- Klik Tindakan.
- Kemudia klik Hentikan Lingkungan.
Anda telah berhasil membuat pipeline rilis perangkat lunak otomatis menggunakan AWS CodePipeline! Dengan menggunakan CodePipeline, Anda membuat pipeline yang menggunakan GitHub, Amazon S3, atau AWS CodeCommit sebagai lokasi sumber untuk kode aplikasi, kemudian menerapkan kode ke instans Amazon EC2 yang dikelola oleh AWS Elastic Beanstalk. Pipeline Anda akan otomatis menerapkan kode setiap kali terjadi perubahan pada kode. Anda tinggal selangkah lagi untuk dapat mempraktikkan penerapan berkelanjutan!
Sekarang setelah Anda mempelajari cara membuat pipeline sederhana menggunakan AWS CodePipeline, Anda dapat mempelajari selengkapnya dengan mengunjungi sumber daya berikut.
- Buat pipeline empat tahap yang lebih canggih dengan mengikuti panduan ini. Pipeline ini menggunakan repositori GitHub untuk sumber Anda, server build Jenkins untuk membangun dan menguji proyek, serta aplikasi AWS CodeDeploy untuk menerapkan kode buil ke server tahap.
- Mulai cepat pipeline empat tahap dengan server build Jenkins menggunakan Kit Mulai Pipeline kami.
- Pelajari selengkapnya mengenai pengiriman berkelanjutan.