miao33: 部署脚本、打包前 API 检查、文档与配置
- 新增 backend/shell/deploy-admin-miao33.sh(miao33 一键打包部署) - deploy.conf 增加 VUE_APP_BASE_API_EXPECTED,miao33/by80 打包前校验前端 API 地址 - deploy-admin-by80.sh / deploy-admin-miao33.sh 增加步骤:检查 .env.production 中 VUE_APP_BASE_API - backend/DEPLOY.md、frontend/DEPLOY.md 补充 miao33 与 API 检查说明 - frontend/.env.production、frontend/deploy.conf 同步 miao33 配置 - by80 脚本 get_conf 仅解析 by80 段 Made-with: Cursor
This commit is contained in:
@@ -13,9 +13,9 @@ ROOT_DIR="$(cd "$BACKEND_DIR/.." && pwd)"
|
||||
FRONTEND_DIR="$ROOT_DIR/frontend"
|
||||
DEPLOY_CONF="$BACKEND_DIR/deploy.conf"
|
||||
|
||||
# 解析 by80 段配置(deploy.conf 中 by80 段到 miao50 段之间的 KEY=value)
|
||||
# 解析 by80 段配置(deploy.conf 中 by80 段到 miao33 段之前的 KEY=value)
|
||||
get_conf() {
|
||||
sed -n '1,/^miao50:/p' "$DEPLOY_CONF" | grep -E "^${1}=" | tail -1 | cut -d= -f2-
|
||||
sed -n '1,/^miao33:/p' "$DEPLOY_CONF" | grep -E "^${1}=" | tail -1 | cut -d= -f2-
|
||||
}
|
||||
SERVER_HOST=$(get_conf SERVER_HOST)
|
||||
SERVER_USER=$(get_conf SERVER_USER)
|
||||
@@ -48,7 +48,23 @@ echo "已生成: $JAR_PATH"
|
||||
[[ ! -f "$JAR_PATH" ]] && { echo "错误: jar 未生成"; exit 1; }
|
||||
|
||||
echo ""
|
||||
echo "=== 2. 编译前端 (admin 后台) ==="
|
||||
echo "=== 2. 检查前端 API 地址 (frontend/.env.production) ==="
|
||||
VUE_APP_BASE_API_EXPECTED=$(get_conf VUE_APP_BASE_API_EXPECTED)
|
||||
if [[ -n "$VUE_APP_BASE_API_EXPECTED" ]]; then
|
||||
ENV_FILE="$FRONTEND_DIR/.env.production"
|
||||
CURRENT_API=$(grep -E '^[[:space:]]*VUE_APP_BASE_API[[:space:]]*=' "$ENV_FILE" 2>/dev/null | head -1 | sed -E "s/^[^=]*=[[:space:]]*['\"]?([^'\"]*)['\"]?[[:space:]]*/\1/" | tr -d ' ')
|
||||
if [[ "$CURRENT_API" != "$VUE_APP_BASE_API_EXPECTED" ]]; then
|
||||
echo "错误: 打包前请确认 API 接口地址为本项目的。"
|
||||
echo " 当前 frontend/.env.production: VUE_APP_BASE_API = '$CURRENT_API'"
|
||||
echo " by80 期望: VUE_APP_BASE_API = '$VUE_APP_BASE_API_EXPECTED'"
|
||||
echo "请修改 frontend/.env.production 后重新执行。"
|
||||
exit 1
|
||||
fi
|
||||
echo "已确认 VUE_APP_BASE_API = '$CURRENT_API'"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=== 3. 编译前端 (admin 后台) ==="
|
||||
cd "$FRONTEND_DIR"
|
||||
# Node.js 17+ OpenSSL 兼容
|
||||
export NODE_OPTIONS="${NODE_OPTIONS:-} --openssl-legacy-provider"
|
||||
@@ -57,7 +73,7 @@ echo "已生成: $FRONTEND_DIR/dist"
|
||||
[[ ! -d "$FRONTEND_DIR/dist" ]] && { echo "错误: dist 未生成"; exit 1; }
|
||||
|
||||
echo ""
|
||||
echo "=== 3. 远程备份原有文件 ==="
|
||||
echo "=== 4. 远程备份原有文件 ==="
|
||||
"${SSH_CMD[@]}" "bash -s" << REMOTE_BACKUP
|
||||
set -e
|
||||
mkdir -p "$REMOTE_DIR_JAR/backups"
|
||||
@@ -73,19 +89,19 @@ fi
|
||||
REMOTE_BACKUP
|
||||
|
||||
echo ""
|
||||
echo "=== 4. 上传 miao-admin-2.2.jar 到 $REMOTE_DIR_JAR ==="
|
||||
echo "=== 5. 上传 miao-admin-2.2.jar 到 $REMOTE_DIR_JAR ==="
|
||||
"${SCP_CMD[@]}" "$JAR_PATH" "$SERVER_USER@$SERVER_HOST:$REMOTE_DIR_JAR/"
|
||||
echo "jar 上传完成."
|
||||
|
||||
echo ""
|
||||
echo "=== 5. 上传 admin 后台静态 (dist) 到 $REMOTE_DIR_ADMIN ==="
|
||||
echo "=== 6. 上传 admin 后台静态 (dist) 到 $REMOTE_DIR_ADMIN ==="
|
||||
# 先清空远程目录再上传,避免残留旧文件(远程可能无 rsync,统一用 tar 管道)
|
||||
"${SSH_CMD[@]}" "mkdir -p $REMOTE_DIR_ADMIN && (rm -rf ${REMOTE_DIR_ADMIN}/* ${REMOTE_DIR_ADMIN}/.??* 2>/dev/null; true)"
|
||||
(cd "$FRONTEND_DIR/dist" && tar cf - .) | "${SSH_CMD[@]}" "mkdir -p $REMOTE_DIR_ADMIN && cd $REMOTE_DIR_ADMIN && tar xf -"
|
||||
echo "后台静态上传完成."
|
||||
|
||||
echo ""
|
||||
echo "=== 6. 远程重启 admin 服务 (profile=miao80, port=$ADMIN_LOCAL_PORT) ==="
|
||||
echo "=== 7. 远程重启 admin 服务 (profile=miao80, port=$ADMIN_LOCAL_PORT) ==="
|
||||
"${SSH_CMD[@]}" "cd $REMOTE_DIR_JAR && \
|
||||
(pkill -f $ADMIN_JAR_NAME || true) && \
|
||||
sleep 2 && \
|
||||
|
||||
Reference in New Issue
Block a user