Merge remote-tracking branch 'origin/master'
This commit is contained in:
224
scripts/deploy.sh
Normal file
224
scripts/deploy.sh
Normal file
@@ -0,0 +1,224 @@
|
|||||||
|
#!/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 "=============================="
|
||||||
Reference in New Issue
Block a user