Deploying a Hugo site on Gitlab
Mengapa Gitlab ?
Beberapa hari lalu Catatan Nestero ini, baru saja migrasi dari github ke gitlab, kenapa memilih menggunakan gitlab ?, salah satu alasan menggunakan gitlab iyalah ingin mencoba fitur CI/CD dari gitlab , dimana dengan fitur ini bisa mengenarte static web secara otomatis pada saat kita push project hugonya dengan menggunakan yang namanya pipelines , alasan kedua adalah batasan besarnya storage yang ditawarkan gitlab untuk versi freenya sebesar 10GB.
Membuat new project/repository
Pertama buat project/repository terlebih dahulu didalam gitlab,
New project/repository -> Create blank project
isi Project name terserah mau di isi apa, untuk project slugnya buat dengan format <username.gitlab.io>, uncheklist semua Project Configuration kemudian Create Project
Konfigurasi gitlab-ci
Kedua masuk kedalam direktori project hugo yang sudah siap untuk di push, sebelum di push buat kedua file berikut :
- .gitignore
/public/*
- .gitlab-ci.yml
image: registry.gitlab.com/pages/hugo:latest
test:
script:
- hugo
rules:
- if: $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH
pages:
script:
- hugo --environment production
artifacts:
paths:
- public
rules:
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
Jika kedua file diatas sudah dibuat dalam direktori project hugo, maka project hugo sudah siap untuk di push ke repository gitlab yang sudah dibuat sebelumnya.
Push project
Ketiga stelah semua persiapan dilakukan terakhir push project hugo dengan :
$ git init
$ git add .
$ git remote add origin git@gitlab.com:<username/project_name>.git
$ git commit -m "develop hugo"
$ git push -u origin master
Terakhir cek kembali di repository gitlab dan pastikan proses dari pipeline berstatus passed, tunggu beberapa saat dan website sudah bisa diakses dengan url username.gitlab.io.
ERROR: Job failed: exit code 255
Jika terdapat gagal dalam proses pipeline dengan pesan error berikut :
ERROR 2021/12/14 13:36:06 Failed to read Git log: Git executable not found in $PATH
Error: Error building site: logged 1 error(s)
Total in 170 ms
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 255
untuk mengatasi masalah diatas tambahkan command berikut dalam file .gitlab-ci.yml setelah image: registry.gitlab.com/pages/hugo:latest
:
before_script:
- apk add --update --no-cache git
Tags:
Referensi:
Imam Az-Zuhri rahimahullah mengatakan :
"Sesungguhnya yang menyebabkan ilmu hilang adalah lupa dan tidak mengulanginya."
Catatan Terkait :
#semuabisaonline dengan Jetdino
Nestero
🔥 GNU/Linux Enthusiast 🔥
🌟 Void Linux User 🌟