Compare commits
2 Commits
3faaf57768
...
d82cea0b54
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d82cea0b54 | ||
|
|
8c0f18eee3 |
45
deploy/deploy.sh
Normal file
45
deploy/deploy.sh
Normal file
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
LOG=/var/log/bssapp_deploy.log
|
||||
|
||||
echo "==============================" >> $LOG
|
||||
echo "🚀 DEPLOY START $(date)" >> $LOG
|
||||
echo "==============================" >> $LOG
|
||||
|
||||
cd /opt/bssapp
|
||||
|
||||
echo "== STOP SERVICE ==" >> $LOG
|
||||
systemctl stop bssapp || true
|
||||
|
||||
echo "== GIT SYNC ==" >> $LOG
|
||||
git fetch origin >> $LOG 2>&1
|
||||
git reset --hard origin/master >> $LOG 2>&1
|
||||
git clean -fdx >> $LOG 2>&1
|
||||
|
||||
echo "== BUILD UI ==" >> $LOG
|
||||
cd ui
|
||||
|
||||
npm install >> $LOG 2>&1
|
||||
npm run build >> $LOG 2>&1
|
||||
|
||||
echo "== COPY UI ==" >> $LOG
|
||||
rm -rf ../svc/public/*
|
||||
cp -r dist/spa/* ../svc/public/
|
||||
|
||||
cd ..
|
||||
|
||||
echo "== BUILD BACKEND ==" >> $LOG
|
||||
cd svc
|
||||
|
||||
go mod tidy >> $LOG 2>&1
|
||||
go build -o bssapp >> $LOG 2>&1
|
||||
|
||||
cd ..
|
||||
|
||||
echo "== START SERVICE ==" >> $LOG
|
||||
systemctl start bssapp
|
||||
|
||||
echo "==============================" >> $LOG
|
||||
echo "✅ DEPLOY FINISHED" >> $LOG
|
||||
echo "==============================" >> $LOG
|
||||
16
deploy/hooks.json
Normal file
16
deploy/hooks.json
Normal file
@@ -0,0 +1,16 @@
|
||||
[
|
||||
{
|
||||
"id": "bssapp-deploy",
|
||||
"execute-command": "/opt/bssapp/deploy/deploy.sh",
|
||||
"command-working-directory": "/opt/bssapp",
|
||||
"pass-arguments-to-command": [],
|
||||
"response-message": "BSSApp Deploy Triggered 🚀",
|
||||
"trigger-rule": {
|
||||
"match": {
|
||||
"type": "header",
|
||||
"name": "X-BSSAPP-SECRET",
|
||||
"value": "bssapp-secret-2026"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -1,224 +0,0 @@
|
||||
#!/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