Deploy Hugo ke Firebase dengan Gitlab CI
23 Dec 2017 · 1 min read
Biasanya saya melakukan deploy dengan perintah firebase deploy
.
Akan tetapi perintah ini sama persis seperti FTP.
Semua file akan di-upload ke Firebase. Hal ini akan membuat kuota internet saya cepat habis 😄, resiko pakai paket data.
Lalu sebaiknya bagaimana?
Saya ingin mencoba workflow pak Ariya. Beliau deploy Hugo ke Firebase melalui Gitlab CI.
Gambarannya seperti ini:
Sumber: ariya.io
Lalu, pada repo Gitlab, saya menggunakan konfigurasi CI seperti ini:
image: nohitme/hugo-firebase:0.31.1
before_script:
- hugo version
- firebase --version
hugo_firebase:
stage: deploy
only:
- master
except:
- dev
script:
- rm -rf public
- hugo --config config.production.toml
- firebase deploy --token ${FIREBASE_TOKEN}
Saya menggunakan image docker dari nohitme/hugo-firebase. Ukurannya cukup besar, sekitar 76 MB. Karena image ini menggunakan Nodejs versi 9 dan Hugo versi terbaru (0.31.1).
Sebenarnya saya sudah coba beberapa Image. Tapi, tidak ada yang cocok. Inilah image yang paling sederhana menurut saya.
FIREBASE_TOKEN
dalam konfigurasi CI di atas adalah variabel
environtment yang kita tambahkan melalui Settings->CI/DI->Secret Variables.
Dengan menggunakan konfigurasi CI ini, waktu build-nya relatif lebih cepat. Biasanya anatara 30 detik sampai 2 menit.
Sekarang kita tinggal git push
aja ke Gitlab untuk deploy ke Firebase.
Enak kaan!