Bash untuk Update Repository GitHub

Pada tutorial ini penulis akan memaparkan cara untuk mempermudah dalam mengupdate website yang kontennya disimpan di GitHub, yaitu dengan bantuan skrip bash. Contoh yang dipakai pada tulisan ini adalah app.baha.web.id yang berisi kumpulan aplikasi web yang dibuat oleh penulis.

Penulis menyimpan konten halaman app.baha.web.id di repository GitHub. Lalu, aplikasi-aplikasi yang berkaitan juga disimpan di repository GitHub, namun repository yang berbeda dengan konten web app.baha.web.id. Misalnya, konten halaman app.baha.web.id disimpan di repository privat dengan nama app.baha.web.id. Lalu, aplikasi A disimpan pada repository dengan nama aplikasi-a, aplikasi B disimpan di repository aplikasi-b, dst.

Bash #

Skrip / kode:

echo '========================================================================'
echo ' Update app.baha.web.id'
echo '========================================================================'
echo ''
echo '>> Proses DIMULAI'
echo ''
echo '>> Menghapus folder app.baha.web.id'
sudo rm -r app.baha.web.id
echo '>> Folder app.baha.web.id berhasil dihapus.'
echo ''
echo '>> Proses Cloning...'
echo ''
echo '>> Cloning repository app.baha.web.id'
git clone [email protected]:bahaxid/app.baha.web.id.git
echo '>> Repository app.baha.web.id berhasil dicloning.'
echo ''
echo '>> Membuka folder app.baha.web.id untuk menyimpan file-file aplikasi.'
cd app.baha.web.id
echo ''
echo '>> Cloning repository htpasswd-generator'
git clone [email protected]:bahaxid/htpasswd-generator.git
echo '>> Repository htpasswd-generator berhasil dicloning.'
echo ''
echo '>> Cloning repository php-form'
git clone [email protected]:bahaxid/php-form.git
echo '>> Repository php-form berhasil dicloning.'
echo ''
echo '>> Mengubah kepemilikan menjadi www-data:www-data'
sudo chown -R www-data:www-data ~/app.baha.web.id/htpasswd-generator/
echo '>> Kepemilikan berhaisl diubah'
echo ''
echo '>> Proses SELESAI'
echo ''
echo '========================================================================'

Misalnya skrip di atas diberi nama update.sh, maka dengan:

$ sh update.sh

keluaran yang ditampilkan:

========================================================================
Update app.baha.web.id
========================================================================

>> Proses DIMULAI

>> Menghapus folder app.baha.web.id
>> Folder app.baha.web.id berhasil dihapus.

>> Proses Cloning...

>> Cloning repository app.baha.web.id
Cloning into 'app.baha.web.id'...
remote: Counting objects: 232, done.
remote: Compressing objects: 100% (117/117), done.
remote: Total 232 (delta 109), reused 232 (delta 109), pack-reused 0
Receiving objects: 100% (232/232), 797.90 KiB | 350.00 KiB/s, done.
Resolving deltas: 100% (109/109), done.
Checking connectivity... done.
>> Repository app.baha.web.id berhasil dicloning.

>> Membuka folder app.baha.web.id untuk menyimpan file-file aplikasi.

>> Cloning repository htpasswd-generator
Cloning into 'htpasswd-generator'...
remote: Counting objects: 21, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 21 (delta 0), reused 2 (delta 0), pack-reused 18
Receiving objects: 100% (21/21), done.
Resolving deltas: 100% (4/4), done.
Checking connectivity... done.
>> Repository htpasswd-generator berhasil dicloning.

>> Cloning repository php-form
Cloning into 'php-form'...
remote: Counting objects: 12, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 12 (delta 1), reused 8 (delta 0), pack-reused 0
Receiving objects: 100% (12/12), done.
Resolving deltas: 100% (1/1), done.
Checking connectivity... done.
>> Repository php-form berhasil dicloning.

>> Mengubah kepemilikan menjadi www-data:www-data
>> Kepemilikan berhaisl diubah

>> Proses SELESAI

========================================================================

atau seperti pada gambar berikut.

Keluaran Bash Update


Since you've made it this far, sharing this article on your favorite social media network would be highly appreciated 💖! For feedback, please ping me on Twitter.

Published