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:
+15
-3
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user