Menggunakan CodeDeploy untuk mendeploy Aplikasi dari Github ke EC2 Instance AWS
4 min readMay 17, 2020
Config Deployment Group, Application dan Troubleshooting
Hai, semua, sekarang kita akan bahas cara setup CodeDeploy AWS untuk deploy applikasi di github ke AWS EC2.
- Sehingga untuk tutorial kali ini pastikan kalian sudah memiliki EC2 instance, jika belum dapat diikuti disini,
- Selanjutnya kita juga harus memiliki setidaknya 1 repository Github yang akan kita deploy nantinya ke EC2.
- Setelah itu kita juga harus memiliki ARN Role yang bisa didapatkan pada Service Role pada IAM AWS. tutorialnya bisa dilihat disini,
Step by step Guide
- Masuk ke AWS console,
- Pada dashboard AWS, masukan pencarian “CodeDeploy”, klik sehingga kita akan masuk kedalam halaman Deployment History CodeDeploy, karena inipertaa kali kita setup CodeDeploy kita tidak akan memiliki deployment History untuk ditampilkan.
- Selanjutnya pada menu panel kiri, dibawah menu Deployment, klik menu Application, kita akan masuk ke halaman Application List, Create Application, input Application Name dan pilih Compute Platform EC2/On-premises, karena kita akan deploy ke EC2 instance, lanjutkan dengan klik Create Application.
- Selanjutnya kita buat Deployment Group dengan nama APP_GROUP, dan masukan Role ARN yang bisa didapatkan pada halaman Service Role IAM AWS, Pada section Environment Configuration pilih Amazone EC2 Instance. Sisanya bisa dilihat dibawah, setelah itu klik Create Deployment Group,
- Selanjutnya kita akan membuat deployment dengan cara Create Deployment, setelah itu kita akan masuk ke halaman setup deployment, pilih My Application Stored in Github, masukan Github username kita, lanjut dengan Connect Github, setelah itu akan muncul wizard untuk verify account github. Jika sudah, kita bisa memasukan Repository name dengan format <username>/<repository name> dan Commit ID pada halaman setup Deployment.
- Setelah itu tunggu sampai proses deployment selesai.
Troubleshooting
- Error akibat Deployment Group tidak dapat membaca EC2 Instance.
The deployment failed because no instances were found for your deployment group. Check your deployment group settings to make sure the tags for your Amazon EC2 instances or Auto Scaling groups correctly identify the instances you want to deploy to, and then try again.
Bisa diatasi dengan menambahkan Tags pada instance EC2 seperti berikut,
- Masuk ke halaman EC2 Instances
- klik Instance yang kita gunakan, pada tab Tags tambahkan tags berikut (Key : EC2_INSTANCE, Values: ADAPT_FILT)
- Edit Deployment Group, tambahkan Tags yang sama dengan Instance EC2.
2. Error akibat healty issue EC2 Instance yang kita miliki.
The overall deployment failed because too many individual instances failed deployment, too few healthy instances are available for deployment, or some instances in your deployment group are experiencing problems.
Permasalahan diatas umunya terjadi akibat codedeploy-agent pada instance EC2 tidak terinstal atau tidak aktif. Pada EC2 instance milik kita, jalankan perintah berikut,
sudo service codedeploy-agent status
Jika tidak ditemukan, install codedeploy-agent pada EC2 instance,
sudo apt-get install ruby
sudo apt-get install wgetcd /home/ubuntuwget https://aws-codedeploy-ap-southeast-1.s3.ap-southeast-1.amazonaws.com/latest/installsudo chmod +x ./install
sudo ./install auto
jalankan codedeploy-agent,
sudo service codedeploy-agent start
cek status codedeploy-agent,
sudo service codedeploy-agent status