Compare commits

..

2 Commits

Author SHA1 Message Date
e9bbfeb2a0 使用 Dockerfile 构建镜像
Some checks failed
构建并部署 Spring Boot 应用 / build-and-deploy (push) Failing after 30s
2025-09-28 03:29:05 +08:00
bffb2e3519 使用 Dockerfile 构建镜像 2025-09-28 03:28:48 +08:00
2 changed files with 26 additions and 9 deletions

View File

@@ -54,16 +54,10 @@ jobs:
- name: 运行测试
run: mvn test
- name: 使用 Jib 构建到本地 Docker
- name: 构建 Docker 镜像
run: |
# 使用 Jib 直接构建到本地 Docker 守护进程
# 这会利用 Jib 的分层缓存机制,后续构建会更快
mvn compile jib:dockerBuild -o -U -DskipTests \
-Djib.allowInsecureRegistries=true\
-Djib.to.image=light-delivery-app:latest \
-Djib.container.ports=8080,8443 \
-Djib.container.environment.SPRING_PROFILES_ACTIVE=prod \
-Djib.container.jvmFlags=-Xmx512m,-Xms256m
# 使用 Dockerfile 构建镜像
docker build -t light-delivery-app:latest .
- name: 验证镜像构建
run: |

23
Dockerfile.ci Normal file
View File

@@ -0,0 +1,23 @@
# CI/CD optimized Dockerfile
FROM openjdk:17-jdk-slim
# 设置工作目录
WORKDIR /app
# 复制 jar 文件到容器中
COPY target/light-delivery-*.jar app.jar
# 创建非root用户
RUN addgroup --system spring && adduser --system spring --ingroup spring
USER spring:spring
# 暴露端口
EXPOSE 8080
EXPOSE 8443
# 设置环境变量
ENV SPRING_PROFILES_ACTIVE=prod
ENV JAVA_OPTS="-Xmx512m"
# 启动应用
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar app.jar"]