Otomatisasi Penerapan Kode dengan AWS CodeCommit & CodeDeploy
Diterbitkan: 2022-03-25Sebagai pengembang web, pekerjaan Anda mungkin mencakup beberapa tugas kompleks seperti otomatisasi penerapan kode ke server produksi atau jika Anda bekerja dalam kelompok dan menghadapi masalah saat mengunggah kode Anda ke situs web langsung, maka posting blog ini adalah solusi untuk mengatasi semua masalah tersebut. masalah.
Saat menggunakan FTP, Anda pasti telah menimpa kode rekan pengembang Anda, masalah yang cukup umum dan terjadi pada sebagian besar dari kita. Panduan ini akan menunjukkan kepada Anda otomatisasi penerapan kode dengan layanan AWS CodeCommit, CodeDeploy, dan Pipeline.
Ikhtisar Teknologi:
- AWS CodeCommit : Kami akan menggunakan CodeCommit untuk memelihara repositori kami (Konten Web/File Kode) yang akan menampung semua file proyek dan melakukan log.
- Server EC2 : Kami akan menggunakan EC2 sebagai server produksi kami, ini akan berisi situs langsung dan kode untuk pengunjung situs web Anda.
- AWS CodeDeploy : Ini akan menahan aplikasi untuk memublikasikan kode Anda ke server EC2. Kami juga akan membuat Deployment Group yang akan menyimpan nama/tag instans EC2 yang ditargetkan tempat kami ingin mempublikasikan kode kami.
- Pipeline : Kami akan memilih CodeCommit sebagai sumber kami dan CodeDeploy sebagai tahap penerapan kami. Oleh karena itu, setiap kali ada perubahan kode yang terdeteksi di CodeCommit, pipeline akan berjalan dan mendorong perubahan kode tersebut ke CodeDeploy (Instance EC2).
Otomatisasi Penerapan Kode: Dijelaskan Secara Detail :
Membuat Pengguna IAM dan Git untuk Otomatisasi Penerapan Kode
Pertama-tama kita perlu membuat pengguna IAM dan Pengguna Git yang akan membuat perubahan kode dan mempublikasikannya di server penerapan.
- Buat Pengguna IAM
- Izinkan Akses ke : AWSCodeCommitFullAccess, AWSCodeDeployFullAccess, AWSCodeCommitPowerUser. Anda akan menemukan opsi ini di tab “Lampirkan kebijakan yang ada secara langsung”.
- Sekarang, masuk dengan pengguna IAM ini.
- Klik Kredensial Keamanan dari sudut kanan atas.
- Klik pada tab kredensial AWS CodeCommit .
- Di bawah bagian “Kredensial HTTPS Git untuk AWS CodeCommit”, klik tombol Hasilkan Kredensial .
- Sekarang, salin nama pengguna dan kata sandi itu di tempat yang aman. Ini akan menjadi nama pengguna dan kata sandi utama Git Anda untuk mendorong/menarik perubahan kode.
Membuat Repositori di CodeCommit
Sekarang, mari buat repositori yang akan menyimpan kode persis Anda.
- Buka Dasbor CodeCommit dari Pengguna IAM.
- Di sudut kanan atas, pilih wilayah tempat Anda ingin membuat repositori.
- Klik Buat repositori, beri nama, deskripsi, dan klik buat.
- Di bawah bagian " Klon repositori ", Anda akan melihat URL repositori Anda. Simpan di tempat yang aman. Ini akan terlihat seperti: https://git-codecommit.ap-south-1.amazonaws.com/v1/repos/HarryTest
Mengunggah file proyek Anda untuk pertama kalinya
- Buka command prompt dari sistem lokal Anda di mana kode asli Anda berada.
- Di prompt perintah, navigasikan ke jalur tempat kode Anda berada.
- Sekarang, jalankan perintah berikut untuk mendorong kode Anda ke repositori AWS untuk pertama kalinya:
git init
git config – init lokal.defaultCabang utama
git config –global init.defaultCabang utama
git tambahkan. ## ini akan mengkomit semua file proyek
git commit –m “Komit awal”
git push https://git-codecommit.ap-south-1.amazonaws.com/v1/repos/HarryTest –semua
- Buat Instans EC2 & Instal Agen CodeDeploy
- Buat peran Instance
- Buka Konsol AWS IAM Anda.
- Buka tab Peran >> Buat peran.
- Di bawah Pilih jenis entitas tepercaya, pilih layanan AWS . Di bawah 'Pilih kasus penggunaan', pilih EC2 . Di bawah 'Pilih kasus penggunaan Anda', pilih EC2. Pilih Berikutnya: Izin .
- Cari dan pilih kebijakan bernama AmazonEC2RoleforAWSCodeDeploy , lalu pilih Berikutnya: Tag .
- Pilih Berikutnya: Tinjau. Masukkan nama untuk peran tersebut (misalnya, EC2InstanceRole ) dan klik Buat .
- Buat instans EC2
- Buka konsol EC2. Klik Luncurkan Instance.
- Pilih Amazon Machine Image (AMI), cari Amazon Linux 2 AMI (HVM), SSD Volume Type , lalu pilih Select. (AMI ini diberi label “Memenuhi syarat tingkat gratis” dan dapat ditemukan di bagian atas daftar.)
- Pilih halaman Jenis Instance , pilih jenis t2.micro tingkat gratis yang memenuhi syarat sebagai konfigurasi perangkat keras untuk instans Anda, lalu pilih Berikutnya: Konfigurasi Detail Instance .
- Konfigurasi halaman Detail Instance, lakukan hal berikut:
- Di Number of instances, masukkan 1 .
- Di Auto-assign Public IP, pilih Enable .
- Di peran IAM, pilih peran IAM yang Anda buat di prosedur sebelumnya (misalnya, EC2InstanceRole ).
- Perluas Detail Tingkat Lanjut , dan di bidang Data pengguna, masukkan yang berikut ini:
#!/bin/bash
yum -y update
yum instal -y ruby
yum install -y aws-cli
cd /home/ec2-pengguna
wget https://aws-codedeploy-us-east-2.s3.us-east-2.amazonaws.com/latest/install
chmod +x ./install
./instal otomatis
- Biarkan sisa item pada Langkah 3: Konfigurasi halaman Detail Instance tidak berubah. Pilih Berikutnya: Tambahkan Penyimpanan .
- Biarkan Langkah 4: Tambahkan halaman Penyimpanan tidak berubah, lalu pilih Berikutnya: Tambahkan Tag.
- Pilih Tambahkan Tanda . Di Key, masukkan Name , dan di Value, masukkan MyCodePipelineDemo . Pilih Berikutnya: Konfigurasikan Grup Keamanan. Kemudian, Anda membuat aplikasi CodeDeploy yang menyebarkan aplikasi sampel ke instance ini. CodeDeploy memilih instance untuk diterapkan berdasarkan tag yang dilampirkan ke instance.
- Konfigurasi halaman Grup Keamanan, lakukan hal berikut:
- Di samping Tetapkan grup keamanan , pilih Buat grup keamanan baru .
- Di baris SSH , di bawah Source , pilih My IP .
- Pilih Tambahkan Aturan , pilih HTTP , lalu di bawah Sumber , pilih IP Saya
- Pilih Tinjau dan Luncurkan.
- Di halaman Tinjau Peluncuran Instance , pilih Luncurkan. Saat diminta untuk memasangkan kunci, pilih ' Lanjutkan tanpa pasangan kunci' .
- Pilih Lihat Instance untuk menutup halaman konfirmasi dan kembali ke konsol.
- Anda dapat melihat status peluncuran di halaman Instans . Saat Anda meluncurkan instans, status awalnya adalah 'tertunda'. Setelah instance dimulai, statusnya berubah menjadi 'berjalan', dan ia menerima nama DNS publik. (Jika kolom DNS Publik tidak ditampilkan, pilih ikon Perlihatkan/Sembunyikan , lalu pilih DNS Publik .)
- Diperlukan beberapa menit agar instans siap untuk Anda sambungkan. Lihat informasi di kolom Pemeriksaan Status untuk melihat apakah instans Anda telah lulus pemeriksaan statusnya.

Buat aplikasi di CodeDeploy
- Buat peran layanan CodeDeploy
- Buka konsol IAM di https://console.aws.amazon.com/iam/
- Dari dasbor konsol, pilih Peran .
- Pilih untuk Buat peran .
- Di bawah Pilih jenis entitas tepercaya, pilih layanan AWS . Di bawah Pilih kasus penggunaan , pilih CodeDeploy . Di bawah Pilih kasus penggunaan Anda, pilih CodeDeploy. Pilih Berikutnya: Izin. Kebijakan terkelola AWSCodeDeployRole sudah dilampirkan ke peran.
- Pilih Berikutnya: Tag, dan Berikutnya: Tinjau.
- Masukkan nama untuk peran (misalnya, CodeDeployRole), lalu pilih Buat peran.
- Buat aplikasi di CodeDeploy
- Buka konsol CodeDeploy di https://console.aws.amazon.com/codedeploy
- Jika halaman Aplikasi tidak muncul, pada menu pilih Aplikasi .
- Pilih untuk Membuat aplikasi .
- Di nama Aplikasi, masukkan MyDemoApplication .
- Di Compute Platform, pilih EC2/On-premises .
- Pilih untuk Membuat aplikasi.
- Buat grup penerapan di CodeDeploy
- Pada laman yang menampilkan aplikasi Anda, pilih Buat grup penerapan .
- Di nama grup Deployment, masukkan MyDemoDeploymentGroup .
- Peran Dalam Layanan, pilih peran layanan yang Anda buat sebelumnya (misalnya, CodeDeployRole ).
- Di bawah Jenis penerapan, pilih Di tempat .
- Di bawah Konfigurasi lingkungan , pilih Instans Amazon EC2 . Di bidang Kunci, masukkan Nama . Di bidang Nilai, masukkan nama yang Anda gunakan untuk memberi tag pada instance (misalnya, MyCodePipelineDemo ).
- Di bawah konfigurasi Deployment, pilih CodeDeployDefault.OneAtaTime .
- Di bawah Load Balancer, pastikan Enable load balancing tidak dipilih . Anda tidak perlu menyiapkan penyeimbang beban atau memilih grup target untuk contoh ini.
- Perluas bagian Lanjutan. Di bawah Alarm, jika ada alarm yang terdaftar, pilih Abaikan konfigurasi alarm.
- Pilih untuk Membuat grup penerapan.
Buat Pipa
- Buat Pipa
- Masuk ke AWS Management Console dan buka konsol CodePipeline di http://console.aws.amazon.com/codesuite/codepipeline/home
- Buka konsol CodePipeline di https://console.aws.amazon.com/codepipeline/
- Pilih Buat saluran pipa .
- Pada Langkah 1 : Pilih pengaturan pipa, di nama Pipa, masukkan MyFirstPipeline .
- Di peran Layanan, pilih peran Layanan baru untuk mengizinkan CodePipeline membuat peran layanan di IAM.
- Biarkan pengaturan di bawah Pengaturan lanjutan pada defaultnya, lalu pilih Berikutnya.
- Di Langkah 2 : Tambahkan tahap sumber, di Penyedia sumber, pilih CodeCommit .
Di Repository name, pilih nama repositori CodeCommit yang Anda buat di langkah 1: Buat repositori CodeCommit. Di Nama cabang, pilih utama, lalu pilih Langkah berikutnya. - Setelah Anda memilih nama dan cabang repositori, sebuah pesan akan menampilkan aturan Amazon CloudWatch Events yang akan dibuat untuk pipeline ini.
- Di bawah opsi 'Ubah deteksi', biarkan default. Ini memungkinkan CodePipeline menggunakan Amazon CloudWatch Events untuk mendeteksi perubahan dalam repositori sumber Anda.
- Pilih Berikutnya .
- Pada Langkah 3 : Tambahkan tahap pembangunan, pilih Lewati tahap pembangunan , lalu terima pesan peringatan dengan memilih Lewati lagi . Pilih Berikutnya .
Catatan : Dalam tutorial ini, Anda menerapkan kode yang memerlukan layanan tanpa pembangunan, sehingga Anda dapat melewati langkah ini. Namun, jika kode sumber Anda perlu dibuat sebelum disebarkan ke instans, Anda dapat mengonfigurasi CodeBuild pada langkah ini.
- Pada Langkah 4 : Tambahkan tahap penerapan, di penyedia Deploy, pilih CodeDeploy .
Di nama Aplikasi, pilih MyDemoApplication . Di grup Deployment, pilih MyDemoDeploymentGroup , lalu pilih Langkah berikutnya . - Pada Langkah 5 : Tinjau informasinya, lalu pilih Buat saluran pipa .
- Pipeline mulai berjalan setelah dibuat. Ini mengunduh kode dari repositori CodeCommit Anda dan membuat penerapan CodeDeploy ke instans EC2 Anda. Anda dapat melihat pesan kemajuan, 'sukses', dan 'gagal' saat contoh CodePipeline menerapkan halaman web ke instans Amazon EC2 dalam penerapan CodeDeploy.
Anda sudah siap sekarang! Pergi ke Deploy Deployments . Anda akan melihat log semua penerapan yang berhasil dan yang gagal.
Untuk memverifikasi perubahan di situs, buka Instans EC2 Anda, cari DNS publik Anda, yang akan muncul sebagai: http://ec2-3-108-40-48.ap-south-1.compute.amazonaws.com .
Setelah Anda menelusurinya, Anda akan melihat halaman langsung Anda.
Anda telah berhasil menyelesaikan Code Deployment Automation. Anda sekarang dapat mendorong perubahan kode baru ke repositori Anda dan mempublikasikannya di situs Anda secara otomatis. Jika Anda masih menghadapi masalah, jangan ragu untuk berkomentar di sini.