Luthfi Idris Cerita Linux, Jerman Wirausaha dan Hidup Sederhana

Hosting di Gitlab Pages

Jaman sekarang bikin blog ataupun hosting website sudah semakin mudah dan ada yang bisa ngasih gratis dengan kualitas juga gak kalah dengan yang bayar. Buat pemula dan baru nyoba-nyoba ngeblog lebih baik pake gratisan dulu, nanti kalau dah rame baru pindah ke hosting gratisan yang bagus. Tetap ya gratisan!!! Karena kadang yang gratisan lebih mudah, gampang, baik daripada yang bayar. Kita gak akan ngomongin yang bayar sekarang, karena kebanyakan yang ada di internet sekarang banyak yang gratisan untuk belajar apapun dan itu sudah mencukupi kebutuhan kita. Inget ya kebutuhan bukan keinginan. Sesuai prinsip minimalis/sederhana.

Karena pembaca blog ini adalah developer berkualitas, ya gak mungkin dong hosting cuma di Blogspot, Wordpress atau Tumblr. Itu mah hostingan buat anak ABG baru belajar ngeblog. Kita harus belajar dan pakai GIT, biar terbiasa nanti kalau udah kerja dengan team developer lainnya. Sepengetahuan saya ada 3 tempat hosting gratisan yang berbasiskan GIT.

  1. Github Pages
  2. Heroku
  3. Gitlab Pages

Berikut adalah review saya terhadap 3 layanan di atas:

  1. Cepat, mudah tetapi kode satu project website kita bisa dilihat orang lain (open source)
  2. Lambat karena hanya kalau ada request ke website baru website diaktifkan tetapi kode di set private
  3. Lumayan cepat, agak ribet settingnya tetapi kita bisa pilih apakah kode kita dipublish public atau private

Dari 3 pilihan diatas saya memilih menggunakan Gitlab karena unlimited private repository dari segi jumlah maupun ukuran. Tetapi ternyata tidak mudah untuk membuat gitlab pages. Mungkin karena saya baru mencobanya. Saya lebih familiar dengan github daripada gitlab. Pada dasarnya ada tahap-tahap membuat gitlab pages adalah:

Buat proyek baru

Ada banyak pilihan dimana dan bagaimana domain website ini bisa diakses. Apakah melalui username.gitlab.io atau username.gitlab.io/namaproyek atau yang lainnya dengan nama group. Karena yang lebih keren adalah pake domain sendiri maka nama domain ini jadi gak penting. Lagipula hari gini domain sudah sangat murah, saya beli domain .id hanya dengan Rp. 9900 untuk tahun pertama :).

Push proyek kita ke gitlab repository

Dalam tulisan saya mengandaikan kita sudah mempunyai folder yang berisi file-file website kita. Kalau belum ada gampangnya download di http://templated.co/ adalah situs penyedia template statik file html yang sudah siap jadi. Langkahnya adalah

git config user.name "usernameanda"
git config user.email "emailanda" 
git init
git add . 
git commit -m "commit pertama"
git push origin master

Kira-kira begitulah tahap-tahap inisialisasi proyek pada gitlab. Tetapi ternyata tahapnya tidak berakhir disitu saja. Ada tahap paling penting yang harus dilakukan yaitu membuat file .gitlab-ci.yml pada folder root.

Membuat file .gitlab-ci.yml

File ini sangat penting pada sebuah proyek website yang akan dihosting di gitlab. Berkas ini adalah berkas konfigurasi dan perintah untuk mesin compiler atau runner disebutnya pada gitlab untuk compile file-file yang ada di root directory. Ini sangat berguna sekali sehingga apapun CMS blog yang kita gunakan bisa dengan mudah dicompile dengan perintah ini. Kita tidak perlu lagi menginstall depedency paket-paket untuk cms itu. Cukup dengan punya software git pada komputer, maka kita bisa dengan secara langsung push file tersebut selanjutnya akan dicompile oleh gitlab. Contoh kasus lainnya adalah apabila kita blogging dengan menggunakan 2 komputer yang berbeda.

Ternyata konfigurasi file .gitlab-ci.yml tidak mudah dan agak ribet. Untungnya sudah ada template yang bisa digunakan untuk tiap-tiap CMS. Di sini kita menggunakan CMS untuk statik file karena website dengan statik file lebih mudah diindex oleh google sehingga kita akan di ranking satu untuk hasil pencarian. Gak percaya? coba aja ketik “luthfi idris” dijamin blog ini adalah urutan teratas. Berikut adalah contoh konfigurasi file .gitlab-ci.yml untuk tiap-tiap CMS.

HTML : https://gitlab.com/pages/plain-html/raw/master/.gitlab-ci.yml

Jekyll : https://gitlab.com/pages/jekyll/raw/master/.gitlab-ci.yml

Hugo : https://gitlab.com/pages/hugo/raw/master/.gitlab-ci.yml

Hexo : https://gitlab.com/pages/hexo/raw/master/.gitlab-ci.yml

Itu adalah beberapa CMS yang menurut saya bagus. Untuk perbandingan antara static site generator bisa klik di sini.

Setelah kita membuat file .gitlab-ci.yml pada root directory proyek maka waktunya untuk push ke repository.

git add .gitlab-ci.yml
git commit -m "tambah gitlab-ci.yml"
git push origin master

Beberapa saat setelah di_push_, maka gitlab akan melakukan proses build. Kita bisa monitor prosesnya pada halaman https://gitlab.com/usernameanda/namaproyek/builds. Selain itu kita juga bisa mengecek apakah isi dari file .gitlab-ci.yml sudah benar apa belum dengan link https://gitlab.com/ci/lint. Apabila hasil dari proses build adalah passed maka itu berhasil dan anda bisa mencoba buka hasil dari gitlab pages anda di http://username.gitlab.io/namaproyek.

Pakai domain sendiri

Seperti yang saya tulis di atas. Pakai domain sendiri lebih keren dan domain sekarang sudah murah-murah. Untuk setting domain sendiri, silahkan ke halaman projek setting di https://gitlab.com/username/namaproyek/pages. Kemudian klik New Domain lalu masukkan domain anda. Pada kolom sertifikat, apabila anda punya sertifikat ssl yang sudah anda beli bisa dimasukkan kesini. Saya masih penasaran, bisa gak ya pakai sertifikat dari let’s encyrpt dipakai disini? Kalau bisa, wah seru banget dan saya akan tulis di blog ini. Terakhir klik Create New Domain. Lalu pada DNS manager anda yang biasanya sudah didapatkan di tempat pembelian domain. Rubah pengaturan domain anda menjadi

@ CNAME username.gitlab.io yang artinya semua sub-domain anda adalah alias daripada username.gitlab.io

Begitulah proses dari hosting gratisan di gitlab. Cukup ribet bukan? Tetapi jadi tambah pengetahuan kan? Hehe. Sampai jumpa minggu depan.

Sumber : http://doc.gitlab.com/ee/pages/README.html

« Pos Sebelumnya Pos Sesudahnya »