#!/bin/bash set -e echo "==============================" echo "🚀 BSSAPP FULL DEPLOY START" echo "==============================" # ----------------------------- # ENV (systemd / webhook fix) # ----------------------------- export HOME=/root export PATH=/usr/bin:/usr/local/bin:/bin:$PATH export GOPATH=/root/go export GOMODCACHE=/root/go/pkg/mod mkdir -p "$GOPATH" "$GOMODCACHE" # ----------------------------- # PATHS # ----------------------------- APP_DIR="/opt/bssapp/svc" UI_DIR="/opt/bssapp/ui" SERVICE="bssapp" FONT_DIR="$APP_DIR/fonts" SYS_FONT_DIR="/usr/share/fonts/truetype/dejavu" # ----------------------------- # STOP SERVICE # ----------------------------- echo "== STOP SERVICE ==" systemctl stop "$SERVICE" # ----------------------------- # UPDATE BACKEND CODE # ----------------------------- echo "== UPDATE CODE ==" cd "$APP_DIR" git fetch origin git reset --hard origin/master # ----------------------------- # CHECK FONTS # ----------------------------- echo "== CHECK FONTS ==" mkdir -p "$FONT_DIR" if [ ! -f "$FONT_DIR/DejaVuSans.ttf" ]; then cp "$SYS_FONT_DIR/DejaVuSans.ttf" "$FONT_DIR/" if [ ! -f "$FONT_DIR/DejaVuSans-Bold.ttf" ]; then cp "$SYS_FONT_DIR/DejaVuSans-Bold.ttf" "$FONT_DIR/" fi echo "✅ Fonts OK" # ----------------------------- # BUILD UI # ----------------------------- echo "== BUILD UI ==" cd "$UI_DIR" if ! command -v npm >/dev/null 2>&1; then echo "❌ npm not found!" exit 1 fi npm install npx quasar build echo "✅ UI Build Done" # ----------------------------- # DEPLOY UI → BACKEND # ----------------------------- echo "== DEPLOY UI ==" rm -rf "$APP_DIR/public"/* mkdir -p "$APP_DIR/public" cp -r "$UI_DIR/dist/spa/"* "$APP_DIR/public/" echo "✅ UI Copied" # ----------------------------- # BUILD BACKEND # ----------------------------- echo "== BUILD BACKEND ==" cd "$APP_DIR" go clean -cache -modcache go mod tidy go build -o bssapp echo "✅ Backend Build Done" # ----------------------------- # START SERVICE # ----------------------------- echo "== START SERVICE ==" systemctl start "$SERVICE" # ----------------------------- # DONE # ----------------------------- echo "==============================" echo "✅ DEPLOY FINISHED" echo "==============================" 1~#!/bin/bash set -e echo "==============================" echo "🚀 BSSAPP FULL DEPLOY START" echo "==============================" # ----------------------------- # ENV (systemd / webhook fix) # ----------------------------- export HOME=/root export PATH=/usr/bin:/usr/local/bin:/bin:$PATH export GOPATH=/root/go export GOMODCACHE=/root/go/pkg/mod mkdir -p "$GOPATH" "$GOMODCACHE" # ----------------------------- # PATHS # ----------------------------- APP_DIR="/opt/bssapp/svc" UI_DIR="/opt/bssapp/ui" SERVICE="bssapp" FONT_DIR="$APP_DIR/fonts" SYS_FONT_DIR="/usr/share/fonts/truetype/dejavu" # ----------------------------- # STOP SERVICE # ----------------------------- echo "== STOP SERVICE ==" systemctl stop "$SERVICE" # ----------------------------- # UPDATE BACKEND CODE # ----------------------------- echo "== UPDATE CODE ==" cd "$APP_DIR" git fetch origin git reset --hard origin/master # ----------------------------- # CHECK FONTS # ----------------------------- echo "== CHECK FONTS ==" mkdir -p "$FONT_DIR" if [ ! -f "$FONT_DIR/DejaVuSans.ttf" ]; then cp "$SYS_FONT_DIR/DejaVuSans.ttf" "$FONT_DIR/" fi if [ ! -f "$FONT_DIR/DejaVuSans-Bold.ttf" ]; then cp "$SYS_FONT_DIR/DejaVuSans-Bold.ttf" "$FONT_DIR/" fi echo "✅ Fonts OK" # ----------------------------- # BUILD UI # ----------------------------- echo "== BUILD UI ==" cd "$UI_DIR" if ! command -v npm >/dev/null 2>&1; then echo "❌ npm not found!" exit 1 fi npm install npx quasar build echo "✅ UI Build Done" # ----------------------------- # DEPLOY UI → BACKEND # ----------------------------- rm -rf "$APP_DIR/public"/* mkdir -p "$APP_DIR/public" cp -r "$UI_DIR/dist/spa/"* "$APP_DIR/public/" echo "✅ UI Copied" # ----------------------------- # BUILD BACKEND # ----------------------------- echo "== BUILD BACKEND ==" cd "$APP_DIR" go clean -cache -modcache go mod tidy go build -o bssapp echo "✅ Backend Build Done" # ----------------------------- # START SERVICE # ----------------------------- echo "== START SERVICE ==" systemctl start "$SERVICE" # ----------------------------- # DONE # ----------------------------- echo "==============================" echo "✅ DEPLOY FINISHED" echo "=============================="