20 menit jadi 5: lebih sedikit menunggu, lebih banyak rilis
Dulu satu build di agency butuh 20 menit. Saya merombak pipeline dan skrip otomasinya. Sekarang cukup 5 menit.
Waktu build CI/CD, sebelum dan sesudah: turun 75%.
01 · Masalahnya
Push fix satu baris, lalu tunggu 20 menit untuk melihatnya live. Begitu juga setiap review dan rilis. Sehari kami cuma muat 2 sampai 3 build, dan 2 sampai 3 frontend developer yang perlu deploy harus gantian antre.
02 · Batasan
Budget runner, target deploy, dan kebiasaan tim tetap sama. Rilis juga tidak boleh berhenti selama saya memperbaikinya.
03 · Yang saya lakukan
Ganti package manager
Setup npm yang lama adalah langkah paling lambat. Pindah ke Yarn yang lebih baru dan merapikan package-nya memangkas sebagian besar waktunya.
Lockfile dikunci di CI
Lockfile di-commit dan CI meng-install persis sesuai isinya, jadi build tidak bisa pelan-pelan kembali lambat.
04 · Hasil
- 20m → 5mwaktu build per run (−75%)
- 2–3 → 6–8build per hari
05 · Kalau diulang, ini yang saya ubah
Ukur dulu. Firasat saya bahwa npm adalah langkah paling lambat ternyata benar, tapi tetap saja itu firasat. Lain kali saya akan mencatat waktu setiap langkah sebelum mengubah apa pun, supaya perbaikannya dipilih oleh data.