Untuk kondisi Guru Duan saat ini, saya akan memilih tahapan bertahap, jangan langsung webhook.
Tahap 1 (Sekarang) — Deploy Manual dengan Script
Buat script:
nano /opt/update-data-murid.sh
Isi:
#!/bin/bash
echo "=== UPDATE DATA MURID ==="
cd /opt/data-murid || exit
git pull
rsync -av --delete \
--exclude='.git' \
/opt/data-murid/ \
/var/www/data-murid/
echo "=== UPDATE SELESAI ==="
Simpan:
chmod +x /opt/update-data-murid.sh
Tahap 2 — Uji
Saat ada perubahan di GitHub:
cd /opt/data-murid
git status
lalu:
/opt/update-data-murid.sh
Keuntungan:
Sangat sederhana.
Tidak ada service tambahan.
Tidak ada port tambahan.
Tidak ada risiko webhook disalahgunakan.
Tahap 3 — Tambahkan Backup
Karena ini data alumni yang berharga, saya justru lebih fokus ke backup daripada otomatisasi.
Buat:
mkdir -p /backup/data-murid
Backup harian:
cp /var/www/data-murid/alumni.json \
/backup/data-murid/alumni-$(date +%F).json
Atau pakai cron seminggu sekali.
Tahap 4 — Pisahkan Log
Karena Guru Duan sudah memakai GoAccess, saya sarankan mempertahankan:
access_log /var/log/nginx/data-murid-access.log;
error_log /var/log/nginx/data-murid-error.log;
Nanti statistik hanya untuk situs alumni.
Tahap 5 — Kalau Sudah Sering Update
Baru pertimbangkan:
Opsi A: Cron
Misalnya tiap jam:
0 * * * * /opt/update-data-murid.sh
Ini cukup aman dan sederhana.
Opsi B: Webhook GitHub
Saya baru akan memasang webhook jika:
Guru Duan mengubah data setiap hari.
Ada beberapa situs yang dikelola.
Ingin benar-benar otomatis setelah
git push.
Yang Saya Pilih Jika Ini Server Saya
Untuk repository yang isinya hanya:
alumni.json
index.html
script.js
saya akan tetap memakai:
/opt/update-data-murid.sh
manual.
Alasannya:
Repository hanya ±500 KB.
Update tidak setiap jam.
HG680P sudah menjalankan beberapa situs.
Semakin sedikit service tambahan, semakin mudah dirawat.
Jadi alurnya:
Laptop Ubuntu
↓
git push
↓
Armbian
/opt/update-data-murid.sh
↓
Website langsung ter-update
Menurut saya itu sudah ideal untuk ukuran proyek data-murid saat ini. Jika nanti Guru Duan ingin menghubungkannya langsung dengan Moodle (misalnya ekspor JSON alumni otomatis dari database Moodle), barulah kita bisa membuat deploy yang lebih otomatis.
0 comments:
Post a Comment