Membangun pipeline dengan CodePipeline

Mengotomatisasi Deployment di AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Pipeline multi-tahap

pratinjau video2-pipeline multi-tahap dengan artifacts, persetujuan, eventbridge

Mengotomatisasi Deployment di AWS

Anatomi pipeline CodePipeline

  • Pipeline adalah urutan tahap (stage)
  • Tiap tahap berisi grup aksi dengan aksi
  • Aksi menghasilkan dan mengonsumsi artifact (disimpan di S3)
  • Tahap berikutnya mengonsumsi artifact sebagai input

anatomi codepipeline - stages, actions, artifacts

Mengotomatisasi Deployment di AWS

Menghubungkan source, build, dan deploy

  • Tahap sumber: CodeCommit mendeteksi push, menghasilkan artifact sumber
  • Tahap build: CodeBuild menerima sumber, menghasilkan artifact build
  • Tahap deploy: CodeDeploy menerima artifact build, menerapkan ke target
  • Pipeline berjalan end-to-end pada setiap push kode

pipeline 3 tahap

Mengotomatisasi Deployment di AWS

Aksi persetujuan manual

  • Persetujuan manual: Gerbang manusia antartahap
  • Pipeline jeda hingga seseorang menyetujui atau menolak
  • Umum dipakai: gerbang antara staging dan production
  • Status menampilkan "Waiting for approval"; mendukung notifikasi SNS

gerbang persetujuan manual - pimpinan tim meninjau pipeline

Mengotomatisasi Deployment di AWS

Transisi tahap dan kontrol pipeline

  • Aktifkan/nonaktifkan transisi antartahap
    • Nonaktifkan untuk menjeda pipeline di titik tertentu
  • Ulangi aksi yang gagal tanpa memulai ulang pipeline
  • Rilis perubahan manual untuk mendorong revisi tertentu

 

kontrol transisi tahap codepipeline - retry & release

Mengotomatisasi Deployment di AWS

Notifikasi event pipeline

anatomi codepipeline - stages, actions, artifacts

  • CodePipeline mengirim event ke Amazon EventBridge
  • Event mencakup: pipeline dimulai, tahap berhasil, tahap gagal
  • Buat aturan EventBridge untuk merutekan event ke target
    • Topik SNS untuk peringatan email/SMS
    • Fungsi Lambda untuk otomatisasi khusus
  • Detail event mencakup nama pipeline, nama tahap, dan alasan kegagalan
Mengotomatisasi Deployment di AWS

Desain pipeline multi-lingkungan

  • Satu pipeline menerapkan ke banyak lingkungan
  • Build sekali, lalu promosikan: Dev -> Staging -> Approval -> Prod
  • Artifact yang sama mengalir di setiap lingkungan
  • Yang Anda uji persis yang Anda terapkan

desain pipeline multi-lingkungan: dev, staging, approval, prod

Mengotomatisasi Deployment di AWS

Ayo berlatih!

Mengotomatisasi Deployment di AWS

Preparing Video For Download...