Pendahuluan

Lupakan cara manual mengunggah file via File Manager atau FTP setiap kali ada perubahan kode. Di DMG-Host, Anda dapat menerapkan sistem Continuous Deployment (CD) menggunakan GitHub Actions. Dengan fitur ini, setiap kali Anda melakukan git push ke repositori GitHub, website Anda akan otomatis terupdate secara real-time.

Langkah-langkah Setup Auto-Deploy:

  1. Siapkan Akun FTP: Masuk ke cPanel dan buat akun FTP baru di menu FTP Accounts. Catat FTP Host, Username, dan Password-nya. Pastikan direktori FTP diarahkan ke folder tempat project Anda berada (misal: public_html).

  2. Konfigurasi GitHub Secrets: Buka repositori project Anda di GitHub, lalu pergi ke menu Settings > Secrets and variables > Actions. Tambahkan Repository Secrets berikut:

    • FTP_SERVER: (Isi dengan alamat FTP Host Anda)
    • FTP_USERNAME: (Isi dengan username FTP)
    • FTP_PASSWORD: (Isi dengan password FTP)
  3. Buat Workflow Deployment: Di dalam folder project lokal Anda, buat folder baru bernama .github/workflows/ dan buat file bernama deploy.yml di dalamnya. Masukkan kode berikut:

    name: Deploy to DMG-Host
    on: [push]
    jobs:
      web-deploy:
        runs-on: ubuntu-latest
        steps:
        - name: Get latest code
          uses: actions/checkout@v3

        - name: Sync files via FTP
          uses: SamKirkland/FTP-Deploy-Action@v4.3.4
          with:
            server: ${{ secrets.FTP_SERVER }}
            username: ${{ secrets.FTP_USERNAME }}
            password: ${{ secrets.FTP_PASSWORD }}
  4. Push ke GitHub: Lakukan commit dan push file .github/workflows/deploy.yml tersebut ke GitHub. Anda bisa memantau proses deployment-nya di tab Actions pada halaman repositori GitHub Anda.

Hal Penting yang Perlu Diketahui:

  • Security: Jangan pernah menuliskan password FTP langsung di dalam file .yml. Gunakan fitur GitHub Secrets seperti langkah ke-2 agar keamanan akun Anda tetap terjaga.
  • Exclude Files: Jika Anda tidak ingin file tertentu ikut terupload (seperti folder node_modules atau .git), Anda bisa menambahkan file .gitignore atau konfigurasi exclude di dalam file workflow.
  • Dukungan DMG-Host: Jika proses sinkronisasi gagal karena masalah koneksi atau firewall, silakan hubungi tim DMG-Host agar kami dapat melakukan whitelist pada IP GitHub Actions jika diperlukan.
Tips: Untuk project berbasis Laravel atau Node.js, pastikan Anda sudah menjalankan proses build (jika perlu) sebelum melakukan sinkronisasi file.
Was this answer helpful? 0 Users Found This Useful (0 Votes)