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”
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 :
7. Buat Deployment Group
Pilih EC2 Instance :
8. Buat deployment dan connectkan ke account GitHub anda :
Masukkan CommitID terakhir
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.
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.
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

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 keInstance 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 :
  • 3.
    7. Buat DeploymentGroup Pilih EC2 Instance :
  • 4.
    8. Buat deploymentdan connectkan ke account GitHub anda : Masukkan CommitID terakhir
  • 5.
    9. Pastikan deploymentsukses 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.htmlanda 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 targetSNS 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