Pengantar CI/CD di AWS

Mengotomatisasi Deployment di AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Siklus berkelanjutan

Mengotomatisasi Deployment di AWS

Berkenalan dengan Instruktur

dunieski-otano-instructor-with-aws-certifications.png

Mengotomatisasi Deployment di AWS

Mengapa CI/CD penting

  • Deployment manual itu lambat dan rawan salah
  • Developer mendorong kode, lalu menunggu orang lain yang melakukan deploy
  • CI/CD mengotomatisasi jalur dari kode ke produksi
  • Rilis lebih cepat, kesalahan lebih sedikit

 

ci_cd

Mengotomatisasi Deployment di AWS

Siklus hidup CI/CD

  • Source: Kode dikomit ke repositori
  • Build: Kode dikompilasi, dependensi dipasang
  • Test: Tes otomatis memvalidasi build
  • Deploy: Aplikasi dirilis; artefak berpindah antar tahap

Lifecycle

Mengotomatisasi Deployment di AWS

Gambaran layanan AWS Code

  • CodeCommit: Pengendalian sumber (repositori Git)
  • CodeBuild: Kompilasi, uji, dan paketkan
  • CodeDeploy: Rilis ke EC2, Lambda, atau ECS
  • CodePipeline: Mengorkestrasi semua tahap

   

 

Gambar layanan Code

Mengotomatisasi Deployment di AWS

CI vs continuous delivery vs continuous deployment

  • Continuous Integration (CI): Merge, build, dan uji di setiap push
  • Continuous Delivery: Otomatis deploy ke staging; persetujuan manual untuk prod (paling umum)
  • Continuous Deployment: Setiap build yang lolos langsung live otomatis

 

three-tier

Mengotomatisasi Deployment di AWS

Cara CodePipeline mengorkestrasi semuanya

cp

  • CodePipeline menghubungkan tahap secara berurutan
  • Tiap tahap berisi satu atau lebih action
  • Pipeline terpicu otomatis saat sumber berubah
  • Jika ada tahap gagal, pipeline berhenti
Mengotomatisasi Deployment di AWS

Contoh pipeline dunia nyata

  • Source: Developer push ke CodeCommit
  • Build: CodeBuild menjalankan tes, mengemas ZIP
  • Staging: CodeDeploy merilis ke staging
  • Approval => Production: Pimpinan tim menyetujui, lalu deploy ke prod

 

Contoh pipeline nyata

Mengotomatisasi Deployment di AWS

Ayo berlatih!

Mengotomatisasi Deployment di AWS

Preparing Video For Download...