Mengelola proses deployment website secara manual sering kali memakan waktu dan rentan terhadap kesalahan. Di sinilah CI/CD (Continuous Integration dan Continuous Deployment) hadir sebagai solusi. CI/CD adalah metode otomatisasi pengembangan perangkat lunak yang memungkinkan integrasi kode, pengujian, dan deployment berjalan lebih cepat dan efisien. GitHub Actions adalah alat CI/CD yang memungkinkan Anda mengotomatiskan alur kerja, seperti deployment, langsung dari GitHub. Dengan menggunakan CI/CD, setiap perubahan pada repository GitHub dapat langsung dideploy ke hosting secara otomatis, termasuk ke cPanel melalui FTP. Dalam artikel ini, Anda akan mempelajari langkah-langkah praktis untuk mengatur CI/CD menggunakan GitHub Actions agar website Anda dapat terupdate secara otomatis setiap kali ada perubahan kode. Mari kita mulai sekarang!
Buat Akun FTP di cPanel
Untuk membuat akun FTP di cPanel, ikuti langkah berikut:
- Login ke akun cPanel Anda.
- Cari Section Files, lalu klik pada FTP Accounts, seperti contoh gambar dibawah ini:
- Masukkan username dan password serta domain untuk websitenya.
- Pilih direktori yang akan diakses oleh akun FTP ke direktori website domainnya. Contohnya seperti dibawah ini:
- Setelah itu bisa klik Create FTP Account untuk pembuatan akun FTP.
Optimalkan performa website Anda dengan layanan hosting cPanel berbasis SSD untuk kecepatan dan stabilitas terbaik. Cek paket lengkapnya di Layanan Hosting cPanel.
Masukkan kredensial FTP ke dalam repositori GitHub
Untuk memasukkan kredensial FTP yang telah kita buat tadi ke repositori Github, ikuti langkah-langkah berikut:
- Buat repositori github terlebih dahulu, seperti berikut.
- Setelah itu masuk ke repositori yang dibuat, pilih Settings lalu pilih Secrets and variabels dan klik Actions.
- Lalu klik New Repository Secret
- Masukkan username dan password FTP di cPanel disini, dengan mengisi secret name dengan FTP_USER dan value nya diisi dengan Username FTP dari cPanel. Lakukan hal yang sama juga untuk FTP_PASS dan FTP_SERVER.
- Untuk FTP_SERVER bisa dilihat melalui Configuration FTP Client, untuk contoh seperti berikut.
- Jika sudah diisi semua untuk repository secret , bisa lanjut ke tahap selanjutnya.
Konfigurasi Github Actions
- Masuk ke tombol Actions dan klik set up a workflow yourself ->.
- Masukkan script dibawah ini untuk melakukan CI/CD.
name: 🚀 Deploy website on push
on:
push:
branches:
- main
jobs:
web-deploy:
name: 🎉 Deploy website
runs-on: ubuntu-latest
steps:
# Checkout the repository
- name: 🚚 Get latest code
uses: actions/checkout@v4
# sync files via FTP
- name: 📂 Sync files via FTP
uses: SamKirkland/FTP-Deploy-Action@v4.3.4
with:
server: ${{ secrets.FTP_SERVER }}
username: ${{ secrets.FTP_USER }}
password: ${{ secrets.FTP_PASS }}
- Contohnya gambarnya seperti berikut.
- Selanjutnya bisa klik Commit Changes untuk menyimpan konfigurasi tersebut.
Ingin performa lebih tinggi? Pilih hosting dengan SSD NVMe super cepat! Kunjungi NVMe Hosting Indonesia sekarang.
Push Kode ke Branch Main
Terakhir, lakukan push kodemu ke repository github yang sudah dibuat pad branch main. Ini digunakan untuk men-trigger Github Actions untuk melakukan upload file ke cPanel. Untuk push kode ke branch main bisa gunakan dengan contoh perintah seperti berikut.
git init
git add .
git commit -m "push hello world"
git remote add origin https://github.com/caturheri/cicd.git
git push origin main
Setelah melakukan push kode ke repository di github, maka akan ada trigger dari Github Actions untuk melakukan update perubahan file atau kode ke cPanel, jika proses deploy berhasil akan tampil seperti berikut.
Selanjutnya bisa kunjungi domainnya, maka akan sesuai dengan kode yang telah kita push ke repository di github.
Lalu kita coba melakukan perubahan kode yang sebelumnya bertuliskan Hello World! menjadi Hello Cloud Aja!
Setelah itu bisa lakukan push kodenya ulang ke repository github. Cek pada tab Actions, jika seperti gambar dibawah ini, berarti sedang proses deploy ke cPanel.
Jika sudah tercentang berwarna hijau seperti berikut, maka proses deploy ke cPanel telah berhasil.
Selanjutnya kita coba cek kembali domainnya, maka otomatis akan berubah menjadi Hello Cloud Aja! seperti gambar berikut.
Kesimpulan
Dengan menggunakan CI/CD dan GitHub Actions, proses deployment website ke hosting cPanel via FTP dapat diotomatisasi, menghemat waktu, dan mengurangi potensi kesalahan manual. Automasi ini memastikan bahwa setiap perubahan kode yang ada pada repository GitHub langsung terupdate di website secara otomatis. Melalui langkah-langkah yang telah dibahas, Anda dapat membangun alur kerja yang efisien dan konsisten, memungkinkan pengembangan website yang lebih cepat dan lebih andal. Dengan demikian, Anda dapat fokus pada pengembangan fitur baru tanpa khawatir tentang masalah deployment. Semoga artikel ini bermanfaat dan membantu Anda dalam mengoptimalkan proses deployment website Anda!