Deployment SOP¶
Panduan untuk promote kode dari develop ke production (main).
Kapan Deploy?¶
Deploy ke production dilakukan jika:
- [ ] Semua fitur sudah di-test (lihat Testing)
- [ ] Fitur sudah di-merge ke
develop - [ ] Tidak ada issue open yang bersifat blocker
- [ ] Sudah disetujui lead / PIC project
Alur Deploy¶
1. Final Check di develop¶
Pastikan semua test hijau sebelum lanjut.
2. Merge develop ke main¶
3. Checklist Sebelum Push¶
- [ ] Test hijau di lokal
- [ ] Tidak ada file
.envatau secret ter-commit - [ ] Migration sudah diuji
- [ ]
composer.locksudah di-commit jika ada perubahan dependency
4. Deploy ke Server¶
Di server production:
cd /path/to/project
git pull origin main
composer install --no-dev --optimize-autoloader
php artisan migrate --force
php artisan config:cache
php artisan route:cache
php artisan view:cache
5. Verifikasi Post-Deploy¶
- [ ] Buka aplikasi di browser, cek halaman utama
- [ ] Cek endpoint kritis (login, fitur utama yang baru di-deploy)
- [ ] Pantau log error:
tail -f storage/logs/laravel.log - [ ] Pastikan tidak ada job queue yang gagal (jika pakai queue)
Jangan deploy di luar jam kerja
Hindari deploy malam hari atau akhir pekan kecuali hotfix mendesak. Kalau ada masalah, sulit di-handle.
Hotfix¶
Untuk perbaikan mendesak di production:
git checkout main
git checkout -b hotfix/nama-masalah
# ... fix ...
git commit -m "bugfix: deskripsi singkat"
git checkout main
git merge hotfix/nama-masalah
git push origin main
Sync balik ke develop:
Siapa yang Deploy?¶
| Kondisi | Yang Deploy |
|---|---|
| Fitur baru | Lead / PIC project |
| Hotfix | Developer yang handle + notif lead |
| Rollback | Lead wajib tahu sebelum eksekusi |
Jika ragu, tanya dulu. Lebih baik terlambat deploy daripada production rusak.