---
title: "Deploy Website dari Repositori Git Langsung di cPanel"
description: "Panduan memakai Git Version Control di cPanel: menyambungkan repositori, menulis berkas .cpanel.yml, lalu menyalin perubahan situs ke public_html."
url: "https://nivelva.com/insight/deploy-website-repositori-git-langsung-cpanel"
category: "Website \u0026 Domain"
tags: ["git","cpanel","deploy","hosting","github"]
author: "Aisyah Aris"
published: "2026-11-11T13:04:00+07:00"
updated: "2026-11-11T13:04:00+07:00"
language: "id"
publisher: "Nivelva (https://nivelva.com)"
---

# Deploy Website dari Repositori Git Langsung di cPanel

> **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.

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](https://nivelva.com/insight/cara-membaca-error-log-cpanel-melacak-masalah).

## Deploy lewat push atau lewat tarik, mana yang dipakai?

| Cara | Alurnya | Cocok untuk |
|:--|:--|:--|
| Tarik (pull) | Push ke GitHub, lalu klik Update from Remote dan Deploy HEAD Commit di cPanel | Tim yang menyimpan kode utama di GitHub atau GitLab |
| Dorong (push) | Push langsung ke repositori di cPanel, deploy berjalan otomatis lewat hook | Pengembang 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](https://nivelva.com/insight/cara-deploy-otomatis-vps-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

- <https://docs.cpanel.net/cpanel/files/git-version-control/>
- <https://docs.cpanel.net/knowledge-base/web-services/guide-to-git-deployment/>
- <https://docs.cpanel.net/knowledge-base/web-services/guide-to-git-set-up-access-to-private-repositories/>

---

Diterbitkan oleh Nivelva Insight (https://nivelva.com/insight/). Artikel ini: https://nivelva.com/insight/deploy-website-repositori-git-langsung-cpanel
Kontak Nivelva: WhatsApp https://wa.me/6285111245007, email hello@nivelva.com
