Git Simple Auto Deploy Langung Live di Server/VPS
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:
- 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 . - Bikin folder untuk taruh file hasil checkout-nya/versi live website, misalkan di /srv/www/dev.bosok.com
# mkdir /srv/www/dev.bosok.com
- 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 folderhooks
di repo git kosongan yang baru dibuat.# vim hooks/post-receive
- 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 - 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:
- 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
- Setelah ngoding, langsung aja di push ke server, dan akan diminta masukin password user terlebih dahulu
# git push live
- Selesai! Simpel.. jauh lebih mending daripada harus manual push pull.