84 lines
1.6 KiB
Bash
84 lines
1.6 KiB
Bash
#!/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 "=============================="
|