feat: 修复Java版本兼容性并添加一键部署脚本

🐛 Java版本修复:
- 修复Docker镜像使用Java 17 Alpine版本
- 解决Java 8与Spring Boot 17编译版本不兼容问题
- 修复Alpine Linux包管理器命令(apk替代apt-get)

🚀 一键部署脚本:
- 新增one-click-deploy.sh一键部署脚本
- 支持完整部署、仅前端、仅后端、健康检查模式
- 集成环境检查、构建、部署、健康检查全流程
- 提供详细的部署报告和访问地址

 部署优化:
- 使用openjdk:17-alpine镜像确保Java版本兼容
- 优化Docker构建流程和错误处理
- 完善健康检查和状态监控

🔧 使用方法:
- ./one-click-deploy.sh          # 完整部署
- ./one-click-deploy.sh frontend # 仅部署前端
- ./one-click-deploy.sh backend  # 仅部署后端
- ./one-click-deploy.sh check    # 健康检查
This commit is contained in:
2025-07-21 13:00:54 +08:00
parent 78670241ca
commit 50c63f1b1a
15 changed files with 964 additions and 37 deletions
+15 -3
View File
@@ -61,6 +61,17 @@ SERVICES=(
"emotion-stats:19009"
)
# 如果设置了TEST_SINGLE_SERVICE环境变量,只部署指定服务
if [ -n "$TEST_SINGLE_SERVICE" ]; then
case $TEST_SINGLE_SERVICE in
"gateway") SERVICES=("emotion-gateway:19000") ;;
"user") SERVICES=("emotion-user:19001") ;;
"ai") SERVICES=("emotion-ai:19002") ;;
*) echo "未知的测试服务: $TEST_SINGLE_SERVICE"; exit 1 ;;
esac
echo "测试模式: 仅部署 $TEST_SINGLE_SERVICE 服务"
fi
# 部署状态跟踪
declare -A DEPLOYMENT_STATUS
declare -A DEPLOYMENT_ERRORS
@@ -316,13 +327,14 @@ create_dockerfile() {
log_info "创建Dockerfile: $service_name"
ssh 'root@47.111.10.27' "cat > $REMOTE_DOCKER_COMPOSE_DIR/Dockerfile.${service_name} << 'EOF'
FROM openjdk:17-jre-slim
# 使用Java 17 Alpine镜像
FROM openjdk:17-alpine
# 设置工作目录
WORKDIR /app
# 安装必要的工具
RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
# 安装必要的工具 (Alpine Linux使用apk)
RUN apk add --no-cache curl
# 复制jar包 (使用相对路径)
COPY ${service_name}-1.0.0.jar app.jar