Setup CI/CD Sederhana Pakai GitHub Actions buat Static Site
Buat situs ini, saya pakai GitHub Actions buat CI/CD, dan setup-nya sengaja saya bikin sesederhana mungkin — cocok banget buat static site yang nggak butuh proses build kompleks.
Alurnya cuma tiga langkah utama:
1. Build. Setiap push ke branch main, workflow jalanin npm ci && npm run build. Karena situs ini static (Astro), hasil build-nya cuma kumpulan file HTML/CSS/JS.
2. Sync ke server. Hasil build di-sync langsung ke VPS lewat SSH pakai rsync (via GitHub Action ssh-deploy). Nggak ada image Docker yang perlu di-build dan push ke registry — cukup salin file statis ke direktori yang di-serve Nginx.
3. Selesai. Nggak ada langkah restart service atau migrasi database, karena memang nggak ada keduanya.
Dibanding setup lama saya (build Docker image, push ke registry, SSH ke server buat docker compose up), ini jauh lebih cepat — dari push ke live cuma butuh puluhan detik, bukan beberapa menit.
Yang saya pelajari dari proses setup ini: pin versi Action pihak ketiga secara eksplisit (misalnya @v5.1.2, bukan cuma @v5 yang mungkin nggak eksis sebagai tag), dan selalu test rsync target path-nya bener sebelum nge-rely penuh ke automation — saya sempat kena masalah gara-gara typo path yang bikin sync gagal diam-diam.
Buat static site personal, CI/CD nggak harus rumit. Makin sedikit moving parts, makin sedikit yang bisa rusak.