如何通过docker-compose实现Java应用DevOps全流程CICD闭环?
摘要:🧩 一、项目结构 一个典型的 Java + Docker Compose 项目可以这样组织: my-app ├── src ├── pom.xml ├── Dockerfile ├──
🧩 一、项目结构
一个典型的 Java + Docker Compose 项目可以这样组织:
my-app/
├── src/
├── pom.xml
├── Dockerfile
├── docker-compose.yml
└── Jenkinsfile
🏗️ 二、1️⃣ 打包:Maven 构建
Spring Boot 项目使用标准 Maven 命令即可:
mvn clean package -DskipTests
生成文件:
target/my-app-1.0.0.jar
🐳 三、2️⃣ 构建镜像:Dockerfile
Dockerfile 内容如下(推荐生产级配置):
FROM openjdk:17-jdk-slim
WORKDIR /app
COPY target/my-app-1.0.0.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","app.jar"]
🧱 四、3️⃣ 定义 docker-compose.yml
docker-compose.yml
version: '3'
services:
my-app:
image: registry.cn-hangzhou.aliyuncs.com/myrepo/my-app:latest
container_name: my-app
ports:
- "8080:8080"
restart: always
environment:
- TZ=Asia/Shanghai
💡说明:
你可以在 Jenkins 中动态替换 ${BUILD_NUMBER} 来控制镜像版本(例如 1.0.23)。
