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:
-
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). -
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)
-
Buat Workflow Deployment: Di dalam folder project lokal Anda, buat folder baru bernama
.github/workflows/dan buat file bernamadeploy.ymldi 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 }} -
Push ke GitHub: Lakukan commit dan push file
.github/workflows/deploy.ymltersebut 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_modulesatau.git), Anda bisa menambahkan file.gitignoreatau konfigurasiexcludedi 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.