Apa itu CI/CD — DevOps

Pernah commit kode jam 5 sore Jumat, terus jam 6 dapet error "production down"? Atau dev senior nge-deploy manual lewat SSH terus salah ketik command = downtime

Pernah commit kode jam 5 sore Jumat, terus jam 6 dapet error "production down"? Atau dev senior nge-deploy manual lewat SSH terus salah ketik command = downtime 30 menit? Itu sign **proses deployment manual yang fragile**. **CI/CD** = automation pipeline yang hilangin human error: setiap commit → automated test → kalau lulus, deploy otomatis. Hasilnya: ship feature 10x lebih sering, dengan confidence tinggi.

💡 Netflix deploy 1000+ kali per hari. Bukan karena tim mereka super-human — karena CI/CD pipeline mereka super matang. Tiap commit langsung pass through automated test + auto deploy ke production. Industry leader pakai CI/CD bukan optional, tapi life support.

Continuous Integration & Continuous Deployment

CI/CD adalah praktik otomasi proses development — dari commit kode hingga deploy ke production.

Alur pipeline CI/CD dari push sampai deploy git push commit Test lint + unit Build artifact Push image registry Staging auto-deploy Production approval gate
Pipeline CI/CD: setiap tahap adalah gate — jika gagal, pipeline berhenti sebelum sampai production.

Continuous Integration (CI)

Setiap kali developer push kode, secara otomatis:

  1. Build project
  2. Jalankan linting & formatting
  3. Jalankan semua test
  4. Report hasilnya
# Alur CI sederhana:
Developer push → Build → Lint → Test → ✅ atau ❌
                                        │
                              Merge ke main jika ✅

Continuous Deployment (CD)

Setelah CI berhasil, deploy otomatis ke environment:

CI ✅ → Deploy ke Staging → Review → Deploy ke Production
     │
     └→ Atau langsung ke Production (Continuous Deployment)

Manfaat CI/CD

CI/CD Tools Populer

🎭 Analogi sehari-hari

Manual deployment = tukang masak yang bawa makanan ke pelanggan satu per satu sambil cek pesanan + bayar. Lambat, sering salah, capek. CI/CD = conveyor belt restoran modern: piring naik di belt, robot cek pesanan + plating + kirim ke meja. Setiap stage gate (gak match pesanan? Belt berhenti). Konsisten, cepet, scalable.

⚠️ Jebakan yang sering ditemui

TL;DR: CI/CD = automation dari commit ke deploy. **CI** (Continuous Integration): setiap push → auto build + test. **CD** (Continuous Deployment): setiap CI pass → auto deploy. Tools: GitHub Actions, GitLab CI, Jenkins, CircleCI. Manfaat: detect bug awal, deploy sering, konsisten, rollback mudah. Netflix deploy 1000+/hari karena CI/CD matang. Wajib di tim modern.

Yang akan kamu pelajari