Lewati ke isi

Website & Domain

Deploy Website dari Repositori Git Langsung di cPanel

Panduan memakai Git Version Control di cPanel: menyambungkan repositori, menulis berkas .cpanel.yml, lalu menyalin perubahan situs ke public_html.

Terbit 5 menit baca

Jawaban singkat

Buat atau clone repositori lewat Git Version Control di cPanel, taruh berkas .cpanel.yml berisi perintah salin di folder teratas repositori, lalu klik Update from Remote dan Deploy HEAD Commit. Push langsung ke repositori di cPanel juga memicu deploy otomatis.

Daftar isi
  1. Apa yang perlu disiapkan?
  2. Langkah demi langkah
  3. Langkah 1: Siapkan akses untuk repositori privat
  4. Langkah 2: Clone repositori di cPanel
  5. Langkah 3: Tulis berkas .cpanel.yml
  6. Langkah 4: Tarik perubahan dan deploy
  7. Langkah 5: Cek hasil dan catat commit yang tayang
  8. Deploy lewat push atau lewat tarik, mana yang dipakai?
  9. Kesalahan yang sering terjadi
  10. Pertanyaan yang sering diajukan

Masih mengunggah berkas situs satu per satu lewat File Manager atau FTP setiap ada perubahan? Kalau kode situsmu sudah disimpan di Git, misalnya di GitHub atau GitLab, cPanel bisa mengambil dan memasangnya sendiri lewat fitur Git Version Control.

Alurnya begini: cPanel menyimpan salinan repositorimu di akun hosting, lalu menjalankan perintah yang kamu tulis di berkas .cpanel.yml untuk menyalin berkas ke folder situs. Hasilnya, setiap pembaruan cukup dua klik, dan kamu selalu tahu commit mana yang sedang tayang.

Apa yang perlu disiapkan?

  • Akses cPanel dengan menu Git Version Control yang aktif. Penyedia hosting bisa mematikan fitur ini, jadi tanyakan bila tidak ada.
  • Repositori Git berisi berkas situs. Contoh di artikel ini cocok untuk situs statis atau situs PHP sederhana yang tidak perlu proses build.
  • Untuk repositori privat: akses SSH Access atau Terminal di cPanel, karena kunci SSH perlu dibuat lewat baris perintah.

Langkah demi langkah

Langkah 1: Siapkan akses untuk repositori privat

Lewati langkah ini bila repositorimu publik. Untuk repositori privat, dokumentasi cPanel memakai kunci SSH khusus. Buka Terminal di cPanel, lalu jalankan:

ssh-keygen -t rsa -f ~/.ssh/repo -b 4096 -C "email@domainmu.com"

Saat diminta passphrase, tekan Enter tanpa mengisi apa pun, sesuai panduan cPanel. Salin isi berkas ~/.ssh/repo.pub, lalu di GitHub buka repositori, masuk ke Settings, Deploy keys, dan Add deploy key. Tempel kuncinya. Centang izin tulis hanya bila kamu memang ingin push dari server.

Setelah itu buat berkas ~/.ssh/config dengan izin 0600 dan isi:

Host github.com
    IdentityFile ~/.ssh/repo

Uji dengan ssh -i ~/.ssh/repo -T git@github.com. Kalau GitHub menyapa dengan nama repositori atau akunmu, aksesnya sudah benar.

Langkah 2: Clone repositori di cPanel

Buka Git Version Control, klik Create, lalu nyalakan Clone a Repository. Isi kolom berikut:

  • Clone URL: alamat repositori, misalnya git@github.com:akunmu/situs.git. Alamat ini tidak boleh berisi nama pengguna dan password.
  • Repository Path: folder untuk menyimpan repositori, misalnya repositories/situs. Folder ini harus kosong.
  • Repository Name: nama tampilan, bebas.

Simpan repositori di luar public_html. Folder repositori berisi direktori .git dan berkas lain yang tidak perlu dilihat publik. Tugas menyalin berkas ke situs diserahkan ke .cpanel.yml. Perlu diingat, path repositori tidak bisa diubah setelah dibuat.

Langkah 3: Tulis berkas .cpanel.yml

Di komputermu, buat berkas .cpanel.yml di folder teratas repositori. Contoh untuk situs sederhana:

---
deployment:
  tasks:
    - export DEPLOYPATH=/home/namapengguna/public_html/
    - /bin/cp index.php $DEPLOYPATH
    - /bin/cp style.css $DEPLOYPATH
    - /bin/cp -R assets $DEPLOYPATH

Ganti namapengguna dengan nama pengguna cPanel-mu dan sesuaikan daftar berkasnya. Dokumentasi cPanel secara tegas melarang memakai tanda bintang untuk menyalin semua berkas, karena folder .git bisa ikut tersalin ke situs dan menimbulkan masalah serius. Sebutkan berkas dan folder satu per satu.

Commit berkas ini, lalu push ke GitHub.

Langkah 4: Tarik perubahan dan deploy

Kembali ke Git Version Control, klik Manage pada repositorimu, lalu buka bagian Pull or Deploy. Klik Update from Remote untuk menarik commit terbaru, kemudian Deploy HEAD Commit untuk menjalankan isi .cpanel.yml.

Deploy hanya bisa berjalan bila repositori punya berkas .cpanel.yml yang valid, punya minimal satu branch, dan working tree-nya bersih. Jangan mengedit berkas di folder repositori lewat File Manager, karena perubahan itu membuat working tree "kotor" dan tombol deploy tidak bisa dipakai.

Langkah 5: Cek hasil dan catat commit yang tayang

Buka situsmu di browser dan pastikan perubahan sudah muncul. Bagian Basic Information di halaman Manage menampilkan commit HEAD dan informasi deploy terakhir, berguna saat kamu perlu tahu versi mana yang sedang tayang. Kalau situs error setelah deploy, periksa pesan kesalahannya lewat panduan membaca error log cPanel.

Deploy lewat push atau lewat tarik, mana yang dipakai?

CaraAlurnyaCocok untuk
Tarik (pull)Push ke GitHub, lalu klik Update from Remote dan Deploy HEAD Commit di cPanelTim yang menyimpan kode utama di GitHub atau GitLab
Dorong (push)Push langsung ke repositori di cPanel, deploy berjalan otomatis lewat hookPengembang tunggal yang punya akses SSH ke hosting

Menurut dokumentasi cPanel, setiap repositori yang dikelola cPanel diberi hook post-receive. Saat kamu push ke repositori itu dan ada berkas .cpanel.yml, perintah di dalamnya langsung dijalankan.

Kalau situsmu perlu proses build, misalnya memasang dependensi atau mengompilasi aset, dan kamu sudah memakai VPS, pertimbangkan alur otomatis seperti di artikel deploy otomatis ke VPS dengan GitHub Actions.

Kesalahan yang sering terjadi

  • Repositori disimpan langsung di public_html, sehingga berkas pengembangan ikut bisa diakses.
  • Memakai cp -R * atau sejenisnya, sehingga folder .git ikut tersalin.
  • Berkas konfigurasi berisi password database ikut masuk repositori. Simpan berkas seperti itu langsung di server dan keluarkan dari Git.
  • Lupa bahwa .cpanel.yml hanya menyalin, tidak menghapus. Berkas yang kamu hapus dari repositori tetap ada di public_html sampai dihapus manual.

Pertanyaan yang sering diajukan

Apakah fitur ini butuh akses SSH?

Untuk repositori publik tidak wajib. Tanpa akses shell kamu tetap bisa membuat, clone, menghapus, dan melihat repositori. Untuk repositori privat, kunci SSH perlu disiapkan lewat Terminal atau SSH.

Apakah bisa dipakai untuk WordPress?

Bisa untuk tema atau plugin buatan sendiri, dengan menyalinnya ke folder wp-content yang sesuai. Inti WordPress dan unggahan media sebaiknya tidak dikelola lewat repositori ini.

Apa yang terjadi bila repositori dihapus dari daftar cPanel?

Menurut dokumentasi cPanel, tombol Remove hanya menghentikan pengelolaan oleh cPanel. Berkasnya tetap ada dan perlu dihapus manual, misalnya lewat File Manager.

Bagaimana cara kembali ke versi sebelumnya?

Buat commit yang membatalkan perubahan, misalnya dengan git revert, push ke GitHub, lalu tarik dan deploy lagi di cPanel.

Checklist sebelum deploy pertama:

  • Repositori disimpan di luar public_html.
  • .cpanel.yml ada di folder teratas dan menyebut berkas satu per satu.
  • Tidak ada password atau kunci rahasia di repositori.
  • Situs sudah dicadangkan sebelum deploy pertama.

Sumber & referensi

Baca juga