Pindah ke Hexo + Firebase

Semenjak lahirnya blog ini (06-sep-2011), saya menggunakan Wordpress Self Hosted sebagai platform blog ini. Awalnya menggunakan hosting gratisan, kemudian pindah ke hosting berbayar (yang paling murah 100rb/tahun), pindah ke VPS (yang paling murah juga $12/tahun) dan yang terakhir pindah ke Platform openshift gratisan (baca disini. Mungkin kalau blog saya bisa ngomong, disa sudah mengeluh capek di boyong kesana kemari.

Namun pada hari ini, saya mencoba metode ngeblog yang baru. Yakni dengan situs statis. Walaupun statis tidak 100% kita nulis setiap halaman / post mulai dari tema dan artikelnya. Sekarang kan sudah banyak static generator yang bertebara, seperti Jekyll, Hugo dan Hexo yang sekarang saya pakai ini.

Hosting

Jadi kalau situs statis begini tidak perlu Database, semua artikel, laman dll semua sudah terbentuk menjadi file html. Jadi tidak perlu server yang terinstall PHP, NodeJS,etc. Karena situs statis tidak perlu di render, jadi bisa di hosting dimana saja, bahkan github, gitlab, dan firebase (google) pun bisa digunakan untuk menyimpan berkas blog kita.

Blog ini sendiri saya simpan di Firebase Hosting, dengan kapasitas 1GB dan Bandwith 10GB/Bulan. Kenapa saya pilih Firebase, karena didukung oleh Google, sudah ada CDN sehingga membuat situs kita cepat diakses dari negara manapun, dan juga dapat SSL gratis dari Google (Otomatis, gak perlu setting lagi).

Walaupun kapasitas 1Gb dan Bandwith 10GB/Bulan bisa dibilang kecil, kalaupun nanti tidak muat lagi, tinggal pindah ke layanan lain seperti github atau gitlab 😙

Kenapa pilih Hexo?

Sebelumnya saya mau mencoba Hugo, karena sepertinya simpel dan asik. Napun saya menemukan masalah ketika mau menerapkan auto deploy melalui Gitlab CI karena saya menggunakan firebase deploy (berbasis nodejs). Jadi image CI runnernya menggunakan nodejs dan tidak ada aplikasi golangnya, saya sudah coba install golang tapi gagal beberapa kali, akhirnya memutuskan untuk menggunakan static gen yang menggunakan nodejs sekalian. Lagipula hexo sudah banyak theme, plugin maupun fitur lainya.

Cara pindah dari Wordpress

Saya cukup install plugin hexo wordpress migrator, melakukan backup dari tools wordpress kemudian mengimportnya dengan plugin tersebut.

Cara Ngeblog baru

Kalau wordpress menyediakan WYSIWYG editor yang ciamik, kalau hexo / static gen lainya bisa menggunakan editor apa aja, bisa pakai vim, notepad, sublime, vscode,etc. Format penulisanya pun juga beda, yaitu menggunakan MarkDown.

Deploy

Karena ini situs statis, jadi setiap ada perubahan kita harus melakukan generate artikel (dari markdown menjadi HTML) dengan perintah hexo generate kemudian mejalankan perintah firebase deploy. Namun saya sudah membuat konfigurasi Gitlab CI sehingga setiap file yang saya commit melalui git dan saya push ke repository gitlab saya akan otomatis di deploy ke firebase hosting.