Some checks failed
continuous-integration/drone/push Build encountered an error
1. 新增 .drone.yml 配置文件 - 自动编译 BladeX 框架依赖 - 自动编译后端项目并打包 - 构建 Docker 镜像 - 自动部署到生产服务器 - 健康检查验证部署成功 2. 新增 Dockerfile - 基于 eclipse-temurin:17-jre 轻量镜像 - 配置 JVM 参数优化内存使用 - 添加健康检查端点 - 支持多环境配置(dev/test/prod) 现在推送代码到 main 分支后,Drone CI 会自动: - 编译项目 - 构建 Docker 镜像 - 部署到 154.30.6.21 服务器 - 执行健康检查 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
37 lines
890 B
Docker
37 lines
890 B
Docker
# 多阶段构建:编译阶段
|
|
FROM maven:3.9-eclipse-temurin-17 AS builder
|
|
|
|
WORKDIR /build
|
|
|
|
# 复制主项目源码
|
|
COPY pom.xml .
|
|
COPY src ./src
|
|
|
|
# 编译项目(在 Drone 中已经编译好,这里只是复制)
|
|
RUN mkdir -p target
|
|
|
|
# 运行阶段:使用轻量级 JRE 镜像
|
|
FROM eclipse-temurin:17-jre-jammy
|
|
|
|
LABEL maintainer="JohnSion"
|
|
LABEL description="武术比赛管理系统后端服务"
|
|
|
|
WORKDIR /app
|
|
|
|
# 复制编译好的 JAR 文件
|
|
COPY target/blade-api.jar /app/blade-api.jar
|
|
|
|
# 暴露端口
|
|
EXPOSE 8123
|
|
|
|
# 健康检查
|
|
HEALTHCHECK --interval=30s --timeout=3s --start-period=60s --retries=3 \
|
|
CMD curl -f http://localhost:8123/actuator/health || exit 1
|
|
|
|
# JVM 参数配置
|
|
ENV JAVA_OPTS="-Xms512m -Xmx1024m -XX:+UseG1GC"
|
|
ENV SPRING_PROFILE="dev"
|
|
|
|
# 启动命令
|
|
CMD ["sh", "-c", "java ${JAVA_OPTS} -jar /app/blade-api.jar --spring.profiles.active=${SPRING_PROFILE}"]
|