mirror of
https://github.com/dyzulk/trustlab-api.git
synced 2026-01-26 05:15:35 +07:00
2.1 KiB
2.1 KiB
description
| description |
|---|
| SOP Deployment (CI/CD via aaPanel) |
Alur Kerja Deployment
Proyek ini menggunakan CI/CD Otomatis via aaPanel Webhook yang terintegrasi dengan GitHub/Git.
1. Automated Deployment (CI/CD)
Setiap kali Anda melakukan push ke branch main, script webhook di server akan berjalan.
Apa yang dilakukan script otomatis:
git pull origin maincomposer install&npm install+vite build- Update Config: Mengcopy isi
.env.production.editableke.env(Pastikan file editable sudah benar di repo!). php artisan migrate --force(Main & CA Database).php artisan optimize.
Script Reference:
- Repo (Public):
scripts/deploy-webhook.example.sh(Template aman, gunakan ini untuk copy-paste ke aaPanel lalu edit manual). - Local (Private):
scripts/deploy-webhook.local.sh(Backup pribadi Anda dengan path asli, ter-ignore oleh git).
2. Manual Pre-Requisites (Sebelum Push)
Sebelum Anda push code, pastikan:
- Environment Variables:
- Jika ada perubahan config, update
.env.production.editable. - Ingat: Script akan menimpa
.envserver dengan isi.env.production.editable.
- Jika ada perubahan config, update
- Database:
- Jika membuat DB baru (seperti kasus CA ini), pastikan database fisik sudah dibuat di server MySQL (
CREATE DATABASE ...).
- Jika membuat DB baru (seperti kasus CA ini), pastikan database fisik sudah dibuat di server MySQL (
3. Manual Post-Deployment (Intervensi Khusus)
Script CI/CD tidak menangani edge-cases. Anda perlu masuk ke server (SSH) untuk kasus berikut:
-
Data Migration Khusus:
- Kasus: Memisahkan table CA ke database baru.
- Action: Login SSH, lalu jalankan:
cd /www/wwwroot/trustlab-api-ftp/trustlab-api.dyzulk.com php artisan ca:migrate-data
-
Rollback:
- Jika deploy gagal total, Anda mungkin perlu restore backup database manual via aaPanel atau
php artisan migrate:rollback.
- Jika deploy gagal total, Anda mungkin perlu restore backup database manual via aaPanel atau
4. Platform Lain (Non-aaPanel)
Jika berpindah dari aaPanel, adaptasi script scripts/deploy-webhook.example.sh:
- Ganti Path project (
PROJECT_PATH). - Ganti Path PHP Binary (
PHP_BIN). - Ganti mekanisme trigger (misal gunakan GitHub Actions, Jenkins, atau Laravel Forge).