Git merupakan salah satu pengontrol versi (Version Control System) pada proyek perangkat lunak yang diciptakan oleh Linus Torvalds. Git dapat mencatat setiap perubahan dari project yang sedang dikerjakan. Git ini bersifat open source. Jika kalian seorang programmer, ada kalanya kalian pasti akan membutuhkan bantuan orang lain, atau ada kalanya kalian akan bekerja secara tim. Nahh dengan Git ini kalian bisa berkolaborasi dengan tim untuk mengerjakan sebuah project.
Ada beberapa manfaat bagi kalian apabila menggunakan Git :
- Bisa menyimpan project sesuai directory
- Bisa mencatat setiap perubahan yang dilakukan
- Bisa berkolaborasi dalam penyelesaian suatu proyek
- Bisa melihat siapa yang terakhir melakukan perubahan
- Bisa mengetahui cara deploy aplikasi modern
- Mudah sinkronisasi dengan hosting
Pada postingan kali ini, kita akan bahas manfaat nomor 6, yaitu mudah sinkronisasi data dengan hosting. Pada postingan sebelumnya, saya juga sudah menulis cara clone repository menggunakan Git Version Control cPanel, tapi itu untuk repository public. Pada git, terdapat juga repository private, artinya tidak sembarang orang bisa melakukan clone terhadap repository tersebut. Nahh metode clone repository private menggunakan Git Version Control cPanel juga memiliki langkah yang berbeda pula.
Berikut ini langkah-langkah clone repository private menggunakan Git Version Control cPanel
1. Pastikan kalian memiliki akun github atau gitlab, dan sudah memiliki repository private seperti contoh berikut ini
2. Untuk melakukan clone repository private, kita membutuhkan yang namanya key. Key ini kita generate pada sisi hosting cPanel kita. Untuk generate ini, bisa ssh ke hosting cPanel, (ada beberapa provider hosting menyediakan akses ssh hanya untuk klien premium keatas), jadi pastikan kalian mendapatkan fitur akses ssh ke hosting cPanel tersebut.
3. Cek dahulu apakah sudah terdapat file key pub bernama id_rsa.pub pada directory ~/.ssh/ seperti berikut
[user@hosting ~]$ ls ~/.ssh/
authorized_keys authorized_keys2 id_rsa id_rsa.pub known_hosts
Jika belum ada file tersebut, silakan generate menggunakan command ssh-keygen
[user@hosting ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): <-- tekan enter
Enter passphrase (empty for no passphrase): <-- tekan enter
Enter same passphrase again: <-- tekan enter
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:exw9vLdXLSukow3IjyQUb6JtrRQ2I3i5ybY8EWrvU8A user@hosting
The key's randomart image is:
+---[RSA 2048]----+
| |
| |
| . . |
| ..E o o |
|..+.O o S . + .|
|.+.O X . o ..o. o|
|. B.* = o oo. .o.|
| o.* + o +o .....|
| +oo . o... ... |
+----[SHA256]-----+
4. Selanjutnya salin isi dari file id_rsa.pub tersebut. Untuk menyalin bisa di cat dahulu untuk melihat seluruh isi file tersebut. kemudian blok dan klin copy
cat ~/.ssh/id_rsa.pub
5. Kembali ke github, tepatnya ke repository private yang tadi, kemudian klik Setting | Deploy Keys | Add deploy key
6. Nanti akan muncul 2 field untuk diisi seperti berikut
Title : Isi sesuai dengan nama key nya, misal cpanel_key, ini hanya penamaan supaya tidak membingungkan
Key : Isi dengan hasil salinan isian file id_rsa.pub dari hosting cPanel tadi.
Ceklis Allow write access, supaya bisa write terhadap repository, Jika sudah oke, klik Add key
Nanti akan diminta memasukkan password akun github kalian untuk verifikasi
7. Masih di github, kembali ke tab Code, klik Clone or Download, lalu klik Use SSH
8. Salin link yang muncul
Baca Juga : Mengikuti Meetup Runcloud dan Digital Ocean
9. Kembali ke hosting cPanel, pilih menu Git Version Control, pilih Create, lalu isi field yang ada seperti contoh berikut
Keterangan :
- 1, Kita pilih Clone Repository untuk melakukan sinkronisasi data proyek web yang sudah di upload sebelumnya
- 2, Clone URL, ini silakan paste link yang tadi sudah di salin dari github, sesuai langkah nomor 8 diatas
- 3, lokasi directory tempat sinkronisasi repository project_web, kalau kalian sudah membuat secara manual, silakan ditulis, namun jika belum dibuat, maka cPanel akan create otomatis directory tersebut berdasarkan yang kita tulis
- 4, Nama repository untuk penamaan pada Hosting, ini hanya penamaan saja, namun berilah nama yang sesuai agar tidak membingungkan
Kalau sudah lengkap, silakan klik Create
10. Tunggu hingga muncul notifikasi bahwa clone repository sukses
11. Kemudian cek kembali pada list Repository yang ada pada Hosting, dan pastikan sudah muncul di list repository untuk repository yang baru di create/clone tadi
12. Apabila ada update/perubahan pada data file project_web yang ada di git, kalian bisa melakukan pull kembali, untuk melakukan pull, bisa klik Manage, kemudian klik tab Pull or Deploy, lalu klik Update from Remote
Cukup mudah bukan? mungkin cukup sekian, semoga bermanfaat
Rizky Pratama. Tinggal di Bekasi, Jawa Barat. Seorang IT di salah satu perusahaan IT. Pengguna Mac, Linux dan Windows
Selain sebagai penulis di blog ini, saya juga penulis di blog saya yang lain, yaitu https://pratama.biz.id
Maaf, saya punya error permission access denied? apa ada solusi? cara sudah sama
Permission denied nya pas tahap yang mana mas? bisa coba chmod dulu, bisa 777 di folder tempat clone nya buat compare
Makasih Gan, helpfully
Error: (XID 7kcrrq) β/usr/local/cpanel/3rdparty/bin/gitβ reported error code β128β when it ended: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
Udah nambahin SSH key ke repo nya, tp dapet pesan diatas
Dari pesan error nya, pastikan repository nya apakah ada dan sudah benar? lalu pas Add Key, apakah sudah di ceklis write access?
udah mas, kalo boleh tau itu di key ada user@hosting mksdnya gimana ya? soalnya pas create SSH Keys di cpanel gak ada user@hosting nya
harusnya ada mas, user@hosting itu username ssh hosting biasanya
waduh sama error nya gitu, itu gimana ya?
minta open in terminal di cpanel mas