Dokumen tersebut memberikan panduan untuk melakukan deploy otomatis source code dari GitHub ke instance EC2 menggunakan CodeDeploy. Langkah-langkahnya adalah (1) menyiapkan instance EC2 dan repo GitHub, (2) menginstall CodeDeploy agent di EC2, (3) membuat aplikasi dan grup deploy CodeDeploy, (4) membuat pipeline deploy menggunakan CodePipeline untuk memonitor proses deploy otomatis. Notifikasi deploy dapat dikirim ke email menggunakan SNS topic.
Lab - Automatic Deployment Using AWS CodePipeline to EC2
1. Automatic Deployment : GitHub to EC2
1. Pastikan anda sudah memiliki Instance EC2 dengan security group dan IAM Role yang
sesuai.
2. Siapkan Repo GitHub yang akan dideploy ke EC2
3. Buka IAM : Create Role dengan nama “CodeDeployRole” dan attach policy
“AWSCodeDeployRole”
2. 4. SSH ke Instance EC2 dan install CodeDeploy Agent:
5. Buat appspec.yml dan push ke repo anda :
Artinya semua isi repo anda anda dideploy ke folder /var/www/html di instance EC2
6. Buat Codedeploy Application :
4. 8. Buat deployment dan connectkan ke account GitHub anda :
Masukkan CommitID terakhir
5. 9. Pastikan deployment sukses dan browse ke IP Public Anda website anda harusnya sudah
terdeploy.
10. Buat CodePipeline. Dengan Source dari Github Repo anda, berikan authorizationnya. kemudian
skip step build dan untuk stage Deploy, pilih application dan deployment group yang sudah dibuat
sebelumnya.
11. Check di settings repo anda harusnya sudah ada webhook.
6. 12. Ubah index.html anda dan kemudian commit dan push ke branch master di GitHub. Monitor
proses di CodePipeline. Jika sukses, maka coba browse ke web server anda, seharusnya
perubahan sudah terdeploy.
13. Untuk notififikasi dapat menggunakan SNS. Buat sebuah topik SNS misalnya myEmails dan
daftarkan alamat email anda. Tambahkan bagian ini pada access policy untuk memberikan hak
akses kepada codestar notification untuk dapat publish ke topik tersebut.
14. Pada CodePipiline buat Notification Rule dan untuk target pilih SNS Topic anda.
7. 15. Pastikan target SNS sudah dalam status ACTIVE :
16. Lakukan update pada source code anda dan push ke rep GitHub yang akan mentrigger flow pada
CodePipeline, check notifikasi pada email anda.
Note : Thanks to AWS User Group Indonesia yang sudah bantu troubleshoot issue access policy SNS untuk
CodeStar Notification