后端管理模块部署

This commit is contained in:
2025-10-30 16:55:22 +08:00
parent 093d07ab76
commit 8f2133f3af
16 changed files with 649 additions and 52 deletions
+76 -14
View File
@@ -1,8 +1,8 @@
#!/bin/bash
# 情绪博物馆 - 一键式部署脚本
# 同时部署后端前端到远程服务器 101.200.208.45
# 使用方法: bash deploy-all.sh [backend|frontend|all]
# 同时部署后端前端和管理后台到远程服务器 101.200.208.45
# 使用方法: bash deploy-all.sh [backend|frontend|admin|all]
# 默认部署所有服务
set -e
@@ -43,9 +43,9 @@ cd "$SCRIPT_DIR"
DEPLOY_TYPE="${1:-all}"
# 验证部署类型
if [[ ! "$DEPLOY_TYPE" =~ ^(backend|frontend|all)$ ]]; then
if [[ ! "$DEPLOY_TYPE" =~ ^(backend|frontend|admin|all)$ ]]; then
log_error "无效的部署类型: $DEPLOY_TYPE"
echo "使用方法: bash deploy-all.sh [backend|frontend|all]"
echo "使用方法: bash deploy-all.sh [backend|frontend|admin|all]"
exit 1
fi
@@ -102,6 +102,31 @@ deploy_frontend() {
fi
}
# ============================================================================
# 部署管理后台
# ============================================================================
deploy_admin() {
log_section "开始部署管理后台"
if [ ! -f "web-admin/deploy.sh" ]; then
log_error "管理后台部署脚本不存在: web-admin/deploy.sh"
return 1
fi
log_info "执行管理后台部署脚本..."
cd web-admin
if bash deploy.sh; then
log_info "✅ 管理后台部署成功"
cd ..
return 0
else
log_error "❌ 管理后台部署失败"
cd ..
return 1
fi
}
# ============================================================================
# 主程序
# ============================================================================
@@ -112,6 +137,7 @@ log_info "部署时间: $(date '+%Y-%m-%d %H:%M:%S')"
BACKEND_SUCCESS=true
FRONTEND_SUCCESS=true
ADMIN_SUCCESS=true
# 执行部署
case "$DEPLOY_TYPE" in
@@ -125,6 +151,11 @@ case "$DEPLOY_TYPE" in
FRONTEND_SUCCESS=false
fi
;;
admin)
if ! deploy_admin; then
ADMIN_SUCCESS=false
fi
;;
all)
if ! deploy_backend; then
BACKEND_SUCCESS=false
@@ -133,6 +164,10 @@ case "$DEPLOY_TYPE" in
if ! deploy_frontend; then
FRONTEND_SUCCESS=false
fi
if ! deploy_admin; then
ADMIN_SUCCESS=false
fi
;;
esac
@@ -161,26 +196,53 @@ if [ "$DEPLOY_TYPE" = "frontend" ] || [ "$DEPLOY_TYPE" = "all" ]; then
fi
fi
if [ "$DEPLOY_TYPE" = "admin" ] || [ "$DEPLOY_TYPE" = "all" ]; then
if [ "$ADMIN_SUCCESS" = true ]; then
log_info "✅ 管理后台部署: 成功"
else
log_error "❌ 管理后台部署: 失败"
fi
fi
log_info "部署耗时: ${DURATION}"
# ============================================================================
# 访问信息
# ============================================================================
if [ "$BACKEND_SUCCESS" = true ] && [ "$FRONTEND_SUCCESS" = true ]; then
# 检查部署结果
ALL_SUCCESS=true
if [ "$DEPLOY_TYPE" = "all" ]; then
if [ "$BACKEND_SUCCESS" = false ] || [ "$FRONTEND_SUCCESS" = false ] || [ "$ADMIN_SUCCESS" = false ]; then
ALL_SUCCESS=false
fi
elif [ "$DEPLOY_TYPE" = "backend" ] && [ "$BACKEND_SUCCESS" = false ]; then
ALL_SUCCESS=false
elif [ "$DEPLOY_TYPE" = "frontend" ] && [ "$FRONTEND_SUCCESS" = false ]; then
ALL_SUCCESS=false
elif [ "$DEPLOY_TYPE" = "admin" ] && [ "$ADMIN_SUCCESS" = false ]; then
ALL_SUCCESS=false
fi
if [ "$ALL_SUCCESS" = true ]; then
echo ""
log_section "部署成功!"
log_info "📱 前端访问地址: http://101.200.208.45/emotion-museum/"
log_info "🔌 后端API地址: http://101.200.208.45:19089/api"
log_info "📊 WebSocket地址: ws://101.200.208.45:19089/ws"
if [ "$DEPLOY_TYPE" = "backend" ] || [ "$DEPLOY_TYPE" = "all" ]; then
log_info "🔌 后端API地址: http://101.200.208.45:19089/api"
log_info "📊 WebSocket地址: ws://101.200.208.45:19089/ws"
fi
if [ "$DEPLOY_TYPE" = "frontend" ] || [ "$DEPLOY_TYPE" = "all" ]; then
log_info "📱 前端访问地址: http://101.200.208.45/emotion-museum/"
fi
if [ "$DEPLOY_TYPE" = "admin" ] || [ "$DEPLOY_TYPE" = "all" ]; then
log_info "🔧 管理后台地址: http://101.200.208.45/emotion-museum-admin/"
fi
echo ""
exit 0
elif [ "$BACKEND_SUCCESS" = true ]; then
log_warn "⚠️ 后端部署成功,前端部署失败"
exit 1
elif [ "$FRONTEND_SUCCESS" = true ]; then
log_warn "⚠️ 前端部署成功,后端部署失败"
exit 1
else
log_error "❌ 部署失败"
exit 1