Hosting Hexo Menggunakan Gitlab dan Firebase

Pada Artikel sebelumnya kita sudah mencoba mendeploy Hexo menggunakan bantuan Gitlab + Netlify. Selanjutnya artikel ini akan menjelaskan bagaimana cara hosting gratis Hexo di Gitlab + Firebase.

Sebenarnya baik Gitlab maupun Firebase bisa meng-host Hexo sendiri. Gitlab menggunakan Gitlab Cl untuk deploy sedangkan Firebase menggunakan firebase-cli.

Jadi kenapa Gitlab dan Firebase digabungkan?

Mari kita lihat fitur masing-masing :

Mengapa Gitlab?

Sudah saya singgung di artikel sebelumnya, bahwa Gitlab banyak memiliki kelebihan dibandingkan dengan Github yang sudah populer terlebih dahulu.


Gitlab

Yang saya suka adalah fitur unlimited private repository yang hanya bisa didapatkan dengan membayar $7/bulan di Github.

Kita bisa mendapatkan unlimited private repositories di Github dengan mendaftar di Github Student Pack menggunakan email .edu atau ac.id

Fitur Gitlab

  • Unlimited private repositories -> ini yang saya demen
  • Dapat pages dengan alamat nama-repo.gitlab.io
  • Bisa custom domain + SSL Menggunakan letsencrypt (kalau mau gratisan)
  • Mendukung banyak staticgen termasuk Hexo, Hugo dan Jekyll
  • Bisa deploy hexo langsung tanpa bantuan tool deployment lainnya

Minus dari Gitlab

  • Bingung setting Gitlab-CI, hal yang membuat saya hampir menyerah menggunakan gitlab dan butuh netlify sebagai tool deployment adalah masalah di setting .gitlab-ci.yml
  • Setting custom domain yang agak ribet
  • Setting SSL manual (jika menggunakan letsencrpyt kita harus terus memperbaharuinya tiap bulan)

Fitur Firebase

  • Hosting oleh Google yang tentunya didukung oleh CDN yang mumpuni dengan kapasitas 1GB dan Bandwidth 10Gb/bulan.
  • Mendukung custom domain dan Free SSL (otomatis terpropagasi setelah setting CNAME dan A Record)

Minus dari Firebase

  • Belum ada fitur version control, jadi setiap deploy kita selalu mengupload semua file. Beda dengan sistem Gitlab yang menggunakan Git sebagai version control. Hanya file baru dan/atau file yang sudah termodifikasi saja yang diupload.
  • Tidak bisa melihat data/file yang sudah diupload di firebase hosting. Hal ini saya alami ketika awal percobaan setting gitlab -> firebase.

Dua minus tersebut yang membuat saya awalnya hanya menggunakan firebase, dengan sistem deploy langsung dari PC. Memikirkan cara agar tetap menggunakan firebase sebagai hosting dan Github/Gitlab untuk version controlnya.

Masalah file yang dihosting juga menjadi masalah ketika file lokal terhapus dan satu-satunya harapan ada di firebase. Kita tidak dapat mengambil kembali data dari firebase hosting seperti hosting pada umumnya.

Jadi kedua alasan diatas yang mendasari saya untuk menggabungkan Gitlab dan Firebase.

Tutorial Hexo on Gitlab + Firebase

Hal-hal yang perlu disiapkan sebelum memulai. Disini saya anggap anda belum menginstall hexo di PC/Mac/Linux, jika sudah silakan skip tutorial instalasi Hexo.

Instalasi Hexo secara Lokal

Setting Gitlab

Koneksi Gitlab ke Firebase

Setting Custom Domain di Firebase

Semoga bermanfaat bagi Anda

Share