Halo rekk! Jadi ceritanya, beberapa waktu lalu aku lagi iseng ngoprek project kecil buat ngetes otomatisasi.
Awalnya cuma mau nyoba build Docker image manual, tapi kok lama-lama mikir, “Lha, iki kalo bisa otomatis kan enak… tinggal push ke GitHub, cling, image langsung nyampe Docker Hub.”
Akhirnya, lahirlah sebuah CI/CD pipeline sederhana yang bikin hidupku sebagai developer jadi lebih gampang 😼⚙️
Awal Mula Cerita
Waktu itu aku lagi develop aplikasi Flask kecil-kecilan. Biasane sih, setiap ada perubahan aku rebuild manual, login Docker Hub, trus push image-nya. Ribet pol!
Dari situ aku mulai mikir: “Kenapa nggak tak serahin aja semua ke GitHub Actions?”
Jadilah alur otomatis ini:
Push ke GitHub ➡️ GitHub Actions jalan ➡️ Image dibangun ➡️ Langsung mendarat di Docker Hub 🚢
Proses Oprek
Sebelum mulai, aku siapin dulu strukturnya:
.
├── app.py # Aplikasi Flask sederhana
├── Dockerfile # Instruksi build image Docker
└── .github/
└── workflows/
└── docker-build.yml # Workflow GitHub Actions
Trus, biar workflow bisa login ke Docker Hub tanpa ngasih password di file, aku simpen kredensial lewat GitHub Secrets:
-
Masuk ke tab
Settingsrepo -
Pilih
Secrets and variables→Actions -
Tambahkan dua secret penting:
DOCKERHUB_USERNAMEDOCKERHUB_TOKEN(dari Personal Access Token Docker)
Aman, terenkripsi, tinggal dipanggil di file YAML workflow.
Kenapa Cara Ini Mantul
Lewat proyek iki, aku dapet beberapa pelajaran berharga:
| Keahlian | Manfaat |
|---|---|
| CI/CD Workflow | Ngerancang alur otomatis biar proses dev lebih rapi |
| GitHub Actions | Paham cara bikin workflow YAML step-by-step |
| Docker | Bungkus aplikasi biar gampang dibawa kemana-mana |
| Secrets Management | Nyimpen kredensial tanpa takut bocor |
Hasil Akhir
Sekarang, tiap kali aku push ke branch main, GitHub langsung ngerjain semua: build, login, dan push image ke Docker Hub.
Nggak pake ribet, dan rasanya… puas banget! ✨
- 🔍 Cek status build: Actions Tab
- 🐳 Lihat Docker image: Docker Hub Repository
Penutup
Sejak pakai otomatisasi ini, workflow-ku jadi lebih santai. Waktu yang biasanya kepake buat “ritual” build & push manual, sekarang bisa dipake ngopi sambil mikirin fitur baru. CI/CD itu kayak asisten pribadi yang selalu siap kerja tanpa banyak tanya. Mantul rek! 🚀