Semua artikel

Docker Image vs Git Repo: Kapan Menggunakan Masing-Masing

Perbandingan dua metode deployment di getlaunch.dev dan kapan sebaiknya menggunakan masing-masing.


Dua Cara Deploy di getlaunch.dev

getlaunch.dev menyediakan dua metode deployment:

  1. Deploy dari Git Repository — Platform build Docker image dari source code kamu
  2. Deploy dari Docker Image — Kamu menyediakan Docker image yang sudah di-build

Keduanya menghasilkan container stateless, tapi prosesnya berbeda.


Deploy dari Git Repository

Cara Kerja

  1. Hubungkan akun GitHub
  2. Pilih repository dan branch
  3. Platform build image menggunakan Dockerfile di repository
  4. Container di-deploy otomatis

Kelebihan

  • Auto-deploy: Setiap push ke branch yang dipilih otomatis trigger deployment
  • CI/CD terintegrasi: Tidak perlu setup pipeline terpisah
  • Version tracking: Setiap deployment terkait dengan commit tertentu
  • Lebih mudah: Tidak perlu build dan push image secara manual

Kapan Menggunakan

  • Kamu punya source code di GitHub
  • Ingin auto-deploy setiap kali push
  • Project masih dalam tahap aktif development
  • Tim kecil yang ingin workflow sederhana

Contoh Penggunaan

Repository: github.com/user/my-api
Branch: main
Dockerfile: path bisa dikonfigurasi
Auto-deploy: ✅ Aktif

Setiap git push origin main → deployment baru otomatis berjalan.


Deploy dari Docker Image

Cara Kerja

  1. Build Docker image di local atau CI/CD
  2. Push ke container registry (Docker Hub, GHCR, dll)
  3. Masukkan image reference di getlaunch.dev
  4. Deploy secara manual

Kelebihan

  • Fleksibilitas build: Build image di mana saja dengan toolchain apapun
  • Pre-tested image: Image sudah di-test sebelum deploy
  • Multi-stage pipeline: Cocok untuk pipeline CI/CD yang kompleks
  • Registry caching: Image bisa di-cache di registry untuk deploy yang lebih cepat

Kapan Menggunakan

  • Kamu sudah punya CI/CD pipeline sendiri (GitHub Actions, GitLab CI, dll)
  • Image perlu di-test secara menyeluruh sebelum deploy
  • Kamu menggunakan image publik (nginx, redis adapter, dll)
  • Build process yang kompleks atau multi-repository

Contoh Penggunaan

Image: ghcr.io/user/my-api:v1.2.0
Auto-deploy: ❌ Tidak tersedia (manual deploy)

Deploy manual melalui tombol Deploy di dashboard.


Perbandingan

FiturGit RepositoryDocker Image
Auto-deploy✅ Ya❌ Tidak
Build di platform✅ Ya❌ Tidak (sudah di-build)
Commit tracking✅ Ya❌ Tidak
FlexibilityStandarTinggi
Setup complexityMudahSedang
Best forActive developmentPre-built / CI/CD pipeline

Rekomendasi

Untuk Pemula

Mulai dengan Git Repository. Setup lebih mudah, auto-deploy membuat workflow lebih lancar, dan kamu bisa fokus ke coding tanpa khawatir build pipeline.

Untuk Tim dengan CI/CD

Gunakan Docker Image jika kamu sudah punya pipeline CI/CD yang mature. Build, test, dan push image di pipeline, lalu deploy image yang sudah lolos testing.

Untuk Quick Prototyping

Gunakan Docker Image dengan image publik. Misalnya, deploy nginx untuk serve static files:

Image: nginx:alpine
Port: 80

Atau deploy aplikasi Node.js dari Docker Hub:

Image: node:18-alpine
Port: 3000

Tips

  1. Selalu gunakan tag spesifik — Hindari latest, gunakan versi spesifik seperti v1.2.0 atau sha-abc123
  2. Optimasi Dockerfile — Urutan layer yang benar mempercepat build
  3. Multi-stage build — Pisahkan build stage dan runtime stage untuk image yang lebih kecil
  4. Health check — Sediakan endpoint health check di kedua metode

Baca Juga