#!/bin/bash # deploy.sh — Build & deploy clickerz to VPS # Usage: ssh vps 'cd /opt/clickerz && bash deploy/deploy.sh' set -euo pipefail echo "=== Clickerz deploy ===" # 1. Pull latest git pull --ff-only # 2. Build frontend (Svelte 5 + SvelteKit) echo "--- Building frontend (Svelte)..." cd Frontend npm ci npx vitest run npm run build echo "--- Copying dist to /var/www/clickerz/frontend/dist..." mkdir -p /var/www/clickerz/frontend/dist rsync -a --delete dist/ /var/www/clickerz/frontend/dist/ cd .. # 3. Backend deps echo "--- Installing backend deps..." cd Backend npm ci --omit=dev cd .. # 4. Restart pm2 echo "--- Restarting pm2..." pm2 startOrRestart ecosystem.config.cjs --env production pm2 save echo "=== Deploy complete ==="