chore: 前端dist移出git,改为本地build直传服务器

This commit is contained in:
li
2026-03-14 19:20:48 +08:00
parent 94b46611d3
commit 54d2f617bb
108 changed files with 42 additions and 212 deletions
+41 -10
View File
@@ -1,26 +1,57 @@
#!/bin/bash
# ─────────────────────────────────────────────────────────────
# 月子 SaaS 一键部署
# 用法:./deploy.sh [commit message]
#
# 流程:
# 1. git commit + push(源码,不含 dist
# 2. 本地构建前端
# 3. rsync 直接上传 dist 到服务器
# 4. SSH 触发后端 git pull + migrate + cache
# ─────────────────────────────────────────────────────────────
set -e
SERVER="root@82.157.47.215"
SERVER_PASS="Aiying88"
COMMIT_MSG="${1:-deploy: update}"
ROOT_DIR="$(cd "$(dirname "$0")" && pwd)"
FRONTEND_DIR="$ROOT_DIR/frontend"
REMOTE_FRONTEND="/var/www/saas/frontend"
REMOTE_BACKEND_SCRIPT="/var/www/saas/deploy-backend.sh"
echo "▶ 构建前端..."
cd "$ROOT_DIR/frontend"
npm run build
GREEN='\033[0;32m'; YELLOW='\033[1;33m'; NC='\033[0m'
step() { echo -e "${YELLOW}==> $1${NC}"; }
ok() { echo -e "${GREEN}$1${NC}"; }
echo "▶ 提交变更(含 dist..."
# ── 1. 提交并推送源码 ─────────────────────────────────────────
step "提交源码到 git..."
cd "$ROOT_DIR"
git add -A
git diff --cached --quiet && echo " 无变更,跳过提交" || git commit -m "$COMMIT_MSG"
echo "▶ 推送到远程..."
if git diff --cached --quiet; then
echo " 无源码变更,跳过提交"
else
git commit -m "$COMMIT_MSG"
fi
git push origin main
ok "源码已推送"
echo "▶ 通知服务器更新..."
ssh "$SERVER" '/var/www/saas/deploy.sh'
# ── 2. 本地构建前端 ───────────────────────────────────────────
step "构建前端..."
cd "$FRONTEND_DIR"
npm run build
ok "前端构建完成"
# ── 3. 上传 dist 到服务器 ─────────────────────────────────────
step "上传 dist 到服务器..."
sshpass -p "$SERVER_PASS" rsync -az --delete \
"$FRONTEND_DIR/dist/" \
"$SERVER:$REMOTE_FRONTEND/"
ok "前端文件已同步"
# ── 4. 触发后端同步 ───────────────────────────────────────────
step "同步后端(git pull + migrate + cache..."
sshpass -p "$SERVER_PASS" ssh "$SERVER" "bash $REMOTE_BACKEND_SCRIPT"
ok "后端同步完成"
echo ""
echo "✅ 部署完成!"
echo -e "${GREEN}🎉 部署完成!${NC}"