D
Setup

Deployment

Proses deployment Toko Digital untuk staging dan production, termasuk dependency install, build client, dan Inertia SSR.

Runtime

Server deployment membutuhkan:

  • PHP 8.1+ dan PHP-FPM.
  • Composer.
  • Node.js dan npm.
  • MySQL serta MongoDB sesuai koneksi yang digunakan.
  • Web server yang mengarahkan document root ke public/.
  • Jika SSR aktif, service Inertia SSR yang menjalankan bundle hasil build.

Production workflow aktual

Workflow .github/workflows/deploy_production.yml berjalan pada push ke branch v3_ssr melalui self-hosted runner. Langkah utamanya:

bash
php artisan optimize:clear
git fetch --all
composer install --no-dev --optimize-autoloader --ignore-platform-req=ext-mongodb
npm ci --legacy-peer-deps
npm run build

Setelah build, workflow menjalankan script permission server dan me-restart service inertia-ssr.

Staging workflow aktual

Workflow .github/workflows/deploy_staging.yml berjalan pada push ke branch staging. Alurnya sama secara umum:

bash
php artisan optimize:clear
composer install --no-dev --optimize-autoloader --ignore-platform-req=ext-mongodb
npm ci --legacy-peer-deps
npm run build

Workflow staging saat ini tidak menunjukkan langkah restart SSR. Pastikan service staging mengambil bundle baru jika SSR diaktifkan.

Konfigurasi web server

Document root harus menunjuk ke:

text
<project-root>/public

Semua request yang bukan file statis perlu diteruskan ke public/index.php. Jangan menaruh project root sebagai document root karena dapat membuka file konfigurasi dan source.

Checklist pascadeploy

  • APP_DEBUG=false pada environment production.
  • Koneksi database utama, CRM, dan covendor telah diverifikasi sesuai kebutuhan.
  • Asset client tersedia di public/build.
  • Bundle SSR tersedia bila SSR aktif.
  • Process SSR telah direstart setelah perubahan frontend SSR.
  • Store published, product detail, cart, dan checkout dapat dibuka.
  • Payment status proxy dapat mencapai service tujuan.
  • Credential tidak berada di source atau log.