Mengabaikan Commit dari User Tertentu di Netlify

2022.03.29 23:26

Blog

Masih soal proyek web senilai 2M. Bulan ini muncul notifikasi tagihan sebesar 7 USD di dashboard Netlify saya. Aneh. Saya sempat mengira kalau Netlify udah enggak gratis lagi. Namun setelah investigasi ternyata saya telah melewati batas kuota build time di free plan (300 menit). Sayangnya Netlify otomatis memberikan kuota build time tambahan sebanyak 500 menit seharga 7 USD. Harapan dan impian saya harusnya di-stop aja kalau udah lewat kuota. Selamanya bakal cuma mimpi ini sepertinya..

Penyumbang terbesar dalam menghabiskan kuota buid time ini ternyata situs bernilai 2M kita. Hal ini terjadi karena klien kita terlalu banyak membuat commit ke repository web. Saya pun menyarankan ke klien untuk menambah prase [skip ci] di pesan commit agar hemat build time. Sayangnya saya perhatikan hal ini beberapa kali diabaikan/dilupakan, pernah juga saya temukan ada yang salah mengetik prase [skip ci]-nya. Sedih asli..

Masa iya kena 7 USD tiap bulan. Lama-lama abis juga 2M.

Jadi saya coba cari solasi lain. Yaitu menggunakan perintah ignore. Idenya yaitu skip build jika user tertentu (di kasus ini user si klien) yang melakukan commit. Semisal :

[build]
  ignore = "git log -1 --pretty=%B | grep ahmadi-111534"

Hasilnya :

1:04:10 AM: Build ready to start
1:04:15 AM: build-image version: 195fbe127e5c374d9c4758652cb62e3b8936a395 (focal)
1:04:15 AM: build-image tag: v4.6.0
1:04:15 AM: buildbot version: 43c70c62bfed821cfaaabbb50f00238dd4bdd2d6
1:04:16 AM: Fetching cached dependencies
1:04:16 AM: Starting to download cache of 3.0GB
1:04:53 AM: Finished downloading cache in 37.043403625s
1:04:53 AM: Starting to extract cache
1:05:23 AM: Finished extracting cache in 30.678445071s
1:05:24 AM: Finished fetching cache in 1m8.005168082s
1:05:24 AM: Starting to prepare the repo for build
1:05:24 AM: Preparing Git Reference refs/heads/master
1:05:43 AM: Parsing package.json dependencies
1:05:43 AM: Creating deploy upload records
1:05:43 AM: Detected ignore command in Netlify configuration file. Proceeding with the specified command: 'git log -1 --pretty=%B | grep ahmadi-111534'
1:05:43 AM: ignore build dari "ahmadi-111534"
1:05:43 AM: User-specified ignore command returned exit code 0. Returning early from build.
1:05:44 AM: Failed during stage 'checking build content for changes': Canceled build due to no content change
1:05:44 AM: Finished processing build request in 1m28.719286487s

Tugas kita belum selesai di sini. Karena posisi sekarang berarti semua perubahan dari klien akan diabaikan. Jadi kita perlu melakukan deploy otomatis pada periode tertentu. Saya rasa 2 kali tiap bulannya sudah cukup. Untuk ini kita dapat menggunakan zapier.

Assalamualaykum!

Referensi

https://t.me/halamanbelakang

https://www.netlify.com/blog/2020/04/27/ignore-unnecessary-builds-to-optimize-your-build-times/

https://docs.netlify.com/configure-builds/common-configurations/ignore-builds/

https://answers.netlify.com/t/support-guide-how-to-use-the-ignore-command/37517