DevOps

CI/CD Sederhana dengan Docker untuk Tim Kecil

Joko Nugroho 21 Juli 2026 · 8 menit baca

Banyak tim kecil menunda CI/CD karena membayangkan Kubernetes, service mesh, dan biaya bulanan yang menggunung. Kenyataannya: untuk tim 1–5 orang dengan satu sampai beberapa aplikasi, pipeline sederhana dengan GitHub Actions dan Docker Compose sudah menutup 90% kebutuhan — deploy konsisten, rollback cepat, dan tidak ada "tapi di laptop saya jalan".

Anatomi pipeline minimal

Tiga tahap, tidak lebih:

  1. Test — jalankan unit test dan lint di setiap push
  2. Build — bangun image Docker, tag dengan commit SHA
  3. Deploy — push image ke registry, lalu tarik dan jalankan di server

Kenapa Docker Compose, bukan Kubernetes

Compose menjawab pertanyaan yang sebenarnya ditanyakan tim kecil: "bagaimana menjalankan aplikasi + database + reverse proxy dengan konfigurasi yang sama di staging dan produksi?" Kubernetes menjawab pertanyaan yang belum Anda punya: scaling ratusan node, self-healing cluster, multi-tenant.

Biaya kognitif Kubernetes nyata. Compose bisa dipahami penuh dalam satu sore; Kubernetes butuh komitmen belajar berbulan-bulan.

Contoh workflow GitHub Actions

name: Deploy
on:
  push:
    branches: [main]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Test
        run: docker compose -f docker-compose.test.yml up --exit-code-from app
      - name: Build & push
        run: |
          docker build -t registry.example.com/app:${{ github.sha }} .
          docker push registry.example.com/app:${{ github.sha }}
      - name: Deploy
        run: ssh deployer@server 'cd ~/app && ./deploy.sh ${{ github.sha }}'

Script deploy.sh di server tinggal: tarik image baru, docker compose up -d, dan bersihkan image lama.

Tiga detail yang sering dilupakan

  • Health check — pastikan container benar-benar siap sebelum trafik dialihkan, bukan sekadar "running"
  • Migrasi database — jalankan sebagai step terpisah yang idempotent, bukan sisipan acak di entrypoint
  • Secrets — simpan di GitHub Secrets dan .env server, jangan pernah di dalam image

Rollback adalah fitur, bukan opsi

Karena image di-tag dengan commit SHA, rollback semurup menjalankan ulang compose dengan tag sebelumnya. Latih ini sejak hari pertama — saat insiden terjadi pukul 2 pagi, Anda tidak ingin membaca dokumentasi.

Pola yang sama saya pakai di studi kasus infrastruktur cloud e-commerce — push ke main, live tanpa sentuhan manual.

Butuh pipeline pertama Anda dibangun dengan benar sejak awal? Layanan server & cloud saya mencakup setup CI/CD, atau mulai dari percakapan.

#Docker#CI/CD#DevOps#GitHub Actions

Punya ide proyek? Mari wujudkan bersama.

Konsultasi pertama gratis. Ceritakan kebutuhan Anda, saya balas dalam 24 jam.

Chat WhatsApp Sekarang