自动化构建docker镜像 (#19)

* feat(build): add Dockerfile

* feat(github-actions): 添加 Docker 镜像构建和发布工作流

* 删除maven的镜像配置
This commit is contained in:
2024-08-25 02:09:50 +08:00
committed by GitHub
parent c00d979e91
commit 1a53ffd83c
3 changed files with 129 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
FROM maven:3.9-eclipse-temurin-17-alpine AS build
WORKDIR /app
COPY pom.xml ./pom.xml
COPY src ./src
RUN --mount=type=cache,target=/root/.m2 \
mvn package -am -DskipTests
RUN mkdir -p /layers && \
cp /app/target/SIMS-0.0.1-SNAPSHOT.jar /layers/target.jar && \
cd /layers && \
java -Djarmode=layertools -jar /layers/target.jar extract
FROM eclipse-temurin:17-jre AS runtime
WORKDIR /app
COPY --from=build /layers/dependencies/ .
COPY --from=build /layers/snapshot-dependencies/ .
COPY --from=build /layers/spring-boot-loader/ .
COPY --from=build /layers/application/ .
EXPOSE 8080
# 执行命令
ENTRYPOINT [ "java", "org.springframework.boot.loader.JarLauncher" ]