Git Simple Auto Deploy Langung Live di Server/VPS

M Dedi Rudianto
Biji Inovasi
Published in
2 min readJan 27, 2018

Ribet sekali kalau tiap kali push ke repo misalkan gitlab/github harus manual pull dari server. Buka putty atau ssh, trus login, masukkan user, password, masuk ke folder website-nya, baru nge-pull. Males banget… Ada cara lain sih yang lebih simpel, meski belum ideal, setidaknya untuk project2 yang ga ribet oke lah. Hasil ngoding tinggal di-push aja dan live!

Langkah-langkah untuk seting di server adalah seperti di bawah ini:

  1. Bikin repo git kosongan di server, misalkan pada kali ini ada di ‘/srv/repo/bosok.git’
    # mkdir /srv/repo/bosok.git
    # cd /srv/repo/bosok.git
    # git init --bare .
  2. Bikin folder untuk taruh file hasil checkout-nya/versi live website, misalkan di /srv/www/dev.bosok.com
    # mkdir /srv/www/dev.bosok.com
  3. Bikin file hook di git, yaitu file script yang otomatis dijalankan setelah event git tertentu. Pada kasus kali ini adalah setelah di-push, atau kalau dari sudut pandang repo git, berarti setelah diterima. Jadi nama filenya post-receive, ditaruh di folder hooksdi repo git kosongan yang baru dibuat.
    # vim hooks/post-receive
  4. Isi filenya apa? Simpel aja isinya, cuma script nge-checkout dari repo git ke folder websitenya, sesuai branch yang diinginkan. Misalkan mau checkout branch dev, jadi isi-nya cuma 2 baris seperti ini:
    #!/bin/sh
    git --work-tree=/srv/www/dev.bosok.com --git-dir=/srv/repo/bosok.git checkout -f dev
  5. Setelah itu jangan lupa ganti permission biar bisa execute
    # chmod a+x hooks/post-receive

Untuk langkah2 di client tempat kita develop, mudah aja seperti ini:

  1. Tambahkan remote git baru, dg ssh misalkan nama user jebol, ke server dobol.com dengan nama remote repo ‘live’
    # git remote add live ssh://jebol@dobol.com/srv/repo/bosok.git
  2. Setelah ngoding, langsung aja di push ke server, dan akan diminta masukin password user terlebih dahulu
    # git push live
  3. Selesai! Simpel.. jauh lebih mending daripada harus manual push pull.

--

--

M Dedi Rudianto
Biji Inovasi

Digital Innovator and Entrepreneur, Founder at Biji Inovasi