Di post sebelumnya saya telah menjelaskan alasan memakai Gitlab Page: karena menawarkan pengalaman yang seamless untuk framework blog yang saya pakai: Hugo; dan juga Gitlab Page sangat seamless untuk mengkonfigurasi CI/CD yang diperlukan. Proses CI/CD diperlukan karena untuk menampilkan blog dari Hugo, dibutuhkan proses konversi dari tulisan dalam bentuk Markdown, menjadi format markup HTML. Di sinilah saya memilih menggunakan Gitlab CI, di mana di dalamnya akan memanggil suatu Hugo command untuk menghasilkan konten blog dalam HTML format.

Sedikit intro mengenai Gitlab Page, ini adalah produk dari Gitlab, di mana setiap orang dapat menaruh static content dan mempublikasikannya ke website dengan format:

  • https://<user>.gitlab.io/<repo-name>, kalau memilih setting Project Site, atau
  • https://<user>.gitlab.io, kalau memilih setting User or Organisation Site

Saya memilih opsi pertama karena ke depannya saya mungkin saja memiliki blog atau website lainnya. Kalau memilih opsi kedua, antar website atau blog saya akan memiliki subdomain dan prefix yang sama, pastinya akan clash satu sama lainnya.

Konten blog yang dipublikasikan dapat dikonfigurasi ke suatu branch, saya pilih master branch.

Selanjutnya, ini step by step untuk membuat website di GitLab Page:

  1. Buat akun Gitlab
  2. Klik New Project dan pilih Create from Template. Dari sana pilihlah Pages/Hugo

    Create From Template

  3. Set Project Name dengan my-blog.

    Project setup

    Kamu dapat memilih repositori di GitLab sebagai private repository, jadi hanya kamu saja yang bisa melihatnya. Lalu tekan tombol “Create”

  4. Dan, voila

    Website kamu sekarang sudah dapat diakses melalui format: https://<user>.gitlab.com/my-blog. Dalam hal percobaan ini, punya saya dapat diakses di https://bangau1.gitlab.io/my-blog/. Awalnya pasti akan didapat 404 status error.

    404 error not found

    Ini wajar, karena masih ada konfigurasi yang mesti kita lakukan, yaitu mengubah nilai field baseurl di config.toml di repo blog kita. Ubah nilainya menjadi website url kamu. Kalau punyaku, diubah menjadi https://bangau1.gitlab.io/my-blog/.

    setup base url

    Normalnya, CICD Pipeline dari Gitlab CI akan ditrigger otomatis, seperti punya saya:

    Gitlab CI Dashboard

    Setelah proses CICD selesai, website akan bisa diakses

    Finally it's shown

Oke, that’s it, sangat mudah bukan? Bagaimana menurutmu prosesnya secara umum? Silahkan sampaikan komentar dan masukan kamu di kolom komentar di bawah ya 🙏

Di post selanjutnya, saya akan mencoba menjelaskan beberapa konfigurasi penting di Hugo, sehingga blogmu akan terlihat lebih personal. Stay tuned!