#!/bin/bash set -euo pipefail ################################ # CONFIG ################################ APP_DIR="/opt/bssapp" UI_DIR="$APP_DIR/ui" LOG="/var/log/bssapp_deploy.log" ################################ # LOG ################################ exec >> "$LOG" 2>&1 echo "==============================" echo "🚀 DEPLOY START $(date)" echo "==============================" cd "$APP_DIR" ################################ # STOP SERVICE ################################ echo "== STOP SERVICE ==" systemctl stop bssapp || true ################################ # GIT SYNC ################################ echo "== GIT SYNC ==" git fetch origin git reset --hard origin/master git clean -fdx ################################ # BUILD UI ################################ echo "== BUILD UI ==" cd "$UI_DIR" # Node path garanti export PATH=$PATH:/usr/bin:/usr/local/bin # Sessiz install echo "--- NPM INSTALL ---" npm ci --silent --no-progress # Sessiz build (EPIPE fix) echo "--- QUASAR BUILD ---" npx quasar build --silent ################################ # COPY UI ################################ echo "== COPY UI ==" rm -rf "$APP_DIR/svc/public"/* cp -r dist/spa/* "$APP_DIR/svc/public/" ################################ # BUILD BACKEND ################################ echo "== BUILD BACKEND ==" cd "$APP_DIR/svc" go build -o bssapp ################################ # START SERVICE ################################ echo "== START SERVICE ==" systemctl start bssapp ################################ # DONE ################################ echo "==============================" echo "✅ DEPLOY FINISHED" echo "=============================="