Mengerjakan proyek langsung dari GitHub ke web hosting tanpa localhost.
Yah udah ketinggalan jaman memang dan kenapa baru posting sekarang? Ga ada tujuan lain, hanya ingin meninggalkan jejak dan mengingatkan diri sendiri akan apa yang pernah dibuat dan dikerjakan.
Tanpa bertele-tele, disini saya menggunakan Personal Webhosting dari BiznetGio menggunakan cPanel dengan port 2083, ada tiga metode utama yang bisa digunakan untuk menghubungkan GitHub dengan web hosting.
1. Metode “Git Version Control” di cPanel (Paling Sederhana)
cPanel memiliki fitur bawaan bernama Gitâ„¢ Version Control. Fitur ini memungkinkan Anda untuk mengkloning (clone) repositori GitHub langsung ke dalam file manager hosting, misalnya ke folder /public_html/test.radika.id.
- Cara kerja: Anda memasukkan URL repositori GitHub Anda ke dalam menu Git Version Control di cPanel.
- Kelebihan: Sangat mudah diatur, tidak memerlukan pihak ketiga, dan aman karena dikelola langsung oleh cPanel.
- Kekurangan: Pembaruan tidak otomatis. Setiap kali Anda melakukan perubahan di GitHub Web, Anda harus login ke cPanel dan menekan tombol “Update from Remote” (atau Anda harus mengatur webhook tambahan agar otomatis).
2. Metode GitHub Actions via FTP (Paling Otomatis & Direkomendasikan)
GitHub Actions adalah fitur CI/CD (Continuous Integration/Continuous Deployment) dari GitHub. Anda bisa membuat sebuah script otomatis di repositori GitHub yang akan langsung mengunggah file ke hosting setiap kali ada perubahan (commit/push).
- Cara kerja: Anda membuat file konfigurasi
.ymldi GitHub. Saat Anda menyimpan perubahan kode, GitHub akan bertindak seperti robot yang melakukan koneksi FTP (menggunakan akunradikaiddan password FTP Anda) untuk memindahkan file kode langsung ke dalam folderpublic_html. - Kelebihan: Sangat otomatis. Selesai menulis kode di GitHub, website langsung ter- update dalam hitungan detik. Ini sangat cocok jika Anda mengembangkan framework PHP khusus atau Laravel, karena Anda juga bisa menyelipkan perintah build sebelum file dikirim.
- Kekurangan: Membutuhkan sedikit pengaturan awal untuk membuat file workflow (
.yml) dan menyimpan password FTP Anda di bagian “GitHub Secrets” agar aman.
3. Metode Webhook dengan PHP Deploy Script (Metode Kustom)
Metode ini melibatkan pembuatan satu file PHP khusus (misalnya deploy.php) di dalam hosting Anda.
- Cara kerja: Anda mendaftarkan URL file
deploy.phptersebut ke menu Webhooks di pengaturan repositori GitHub. Setiap kali ada perubahan kode, GitHub akan “mengetuk” file PHP tersebut. File PHP itu kemudian akan menjalankan perintah server (sepertishell_exec('git pull')) untuk menarik kode terbaru. - Kelebihan: Sangat ringan dan responsif.
- Kekurangan: Bergantung pada izin keamanan server. Pada beberapa layanan shared hosting, fungsi eksekusi perintah (shell_exec) dinonaktifkan demi keamanan.
Untuk lingkungan BiznetGio saya menggunakan Metode 2 (GitHub Actions via FTP) yang menurut saya ini pilihan paling tangguh dan bebas hambatan, karena tidak bergantung pada pengaturan akses SSH atau batasan fungsi PHP di shared hosting.
Baiklah, selanjutnya adalah langkah-langkah detail untuk mengaturnya:
Tahap 1: Persiapan Data FTP
Berdasarkan informasi hosting Anda, kita akan menggunakan data berikut untuk jalur pengiriman:
- FTP Server:
103.125.180.36(Ini adalah Shared IP Anda) - FTP Username:
radikaid - FTP Password: (Gunakan password cPanel Anda yang tersembunyi tersebut)
- Target Direktori:
public_html/test.radika.id/
Tahap 2: Mendaftarkan “Secrets” di GitHub
Agar password dan detail hosting Anda aman dan tidak terbaca oleh publik di dalam kode, kita harus menyimpannya di brankas rahasia GitHub.
- Buka repositori GitHub tempat Anda menyimpan proyek (misalnya proyek framework RON PHP Anda atau proyek lainnya).
- Klik tab Settings (Pengaturan).
- Di menu sebelah kiri, cari bagian Security, lalu klik Secrets and variables > Actions.
- Klik tombol hijau New repository secret.
- Buat tiga secret berikut satu per satu:
- Name:
FTP_SERVER| Secret:(masukkan ip cpanel)- Name:
FTP_USERNAME| Secret:(masukan id cpanel)- Name:
FTP_PASSWORD| Secret:(masukan password cpanel)
Tahap 3: Membuat File Workflow (GitHub Actions)
Sekarang kita akan membuat instruksi untuk “robot” GitHub agar tahu apa yang harus dilakukan setiap kali ada perubahan.
- Di halaman utama repositori GitHub Anda, klik Add file > Create new file.
- Pada kolom nama file di bagian atas, ketik:
.github/workflows/deploy.yml(Pastikan strukturnya tepat seperti ini, termasuk titik di depan github). - Copy dan paste kode YAML berikut ke dalam editor teks yang tersedia di layar:
YAML
name: Deploy to BiznetGio cPanel
on:
push:
branches:
- main # Ubah ke 'master' jika default branch Anda bernama master
jobs:
web-deploy:
name: Deploy
runs-on: ubuntu-latest
steps:
- name: Mengambil kode terbaru
uses: actions/checkout@v4
- name: Sinkronisasi file via FTP
uses: SamKirkland/FTP-Deploy-Action@v4.3.5
with:
server: ${{ secrets.FTP_SERVER }}
username: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
server-dir: public_html/test.radika.id/ # Pastikan diakhiri dengan garis miring (/)
exclude: |
**/.git*
**/.git*/**
**/node_modules/**
- Klik tombol hijau Commit changes… di kanan atas.
- Tulis pesan commit (misalnya: “Setup FTP Deploy”) dan klik Commit changes.

Comments
So empty here ... leave a comment!