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 .yml di GitHub. Saat Anda menyimpan perubahan kode, GitHub akan bertindak seperti robot yang melakukan koneksi FTP (menggunakan akun radikaid dan password FTP Anda) untuk memindahkan file kode langsung ke dalam folder public_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.php tersebut 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 (seperti shell_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.

  1. Buka repositori GitHub tempat Anda menyimpan proyek (misalnya proyek framework RON PHP Anda atau proyek lainnya).
  2. Klik tab Settings (Pengaturan).
  3. Di menu sebelah kiri, cari bagian Security, lalu klik Secrets and variables > Actions.
  4. Klik tombol hijau New repository secret.
  5. 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.

  1. Di halaman utama repositori GitHub Anda, klik Add file > Create new file.
  2. Pada kolom nama file di bagian atas, ketik: .github/workflows/deploy.yml (Pastikan strukturnya tepat seperti ini, termasuk titik di depan github).
  3. 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/**
  1. Klik tombol hijau Commit changes… di kanan atas.
  2. Tulis pesan commit (misalnya: “Setup FTP Deploy”) dan klik Commit changes.

Comments

So empty here ... leave a comment!

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Sidebar