From 48223d5a3dcad79421f10678406cbe07938b293d Mon Sep 17 00:00:00 2001 From: Marcel Date: Wed, 15 Apr 2026 11:29:13 +0200 Subject: [PATCH] devops(backend): pin eclipse-temurin tags, skip test compilation, document jar glob MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Pin to eclipse-temurin:21.0.10_7-{jdk,jre}-noble for reproducible builds - Switch -DskipTests to -Dmaven.test.skip=true: skips test compilation entirely, not just execution — faster and avoids build failures from test-only missing classes - Add comment on COPY *.jar explaining why the glob is safe (Spring Boot renames the pre-repackage artifact to .jar.original, leaving only one .jar in target/) Co-Authored-By: Claude Sonnet 4.6 --- backend/Dockerfile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/backend/Dockerfile b/backend/Dockerfile index a6cd524e..3f2c02a5 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,4 +1,4 @@ -FROM eclipse-temurin:21-jdk AS builder +FROM eclipse-temurin:21.0.10_7-jdk-noble AS builder WORKDIR /app # Copy wrapper and POM first — dependency layer is cached separately from source @@ -7,10 +7,12 @@ COPY mvnw pom.xml ./ RUN --mount=type=cache,target=/root/.m2 ./mvnw dependency:go-offline -q COPY src ./src -RUN --mount=type=cache,target=/root/.m2 ./mvnw clean package -DskipTests -q +# -Dmaven.test.skip=true skips test compilation entirely (not just execution) +RUN --mount=type=cache,target=/root/.m2 ./mvnw clean package -Dmaven.test.skip=true -q -FROM eclipse-temurin:21-jre +FROM eclipse-temurin:21.0.10_7-jre-noble WORKDIR /app +# Spring Boot repackages to *.jar; pre-repackage artifact uses .jar.original, not .jar COPY --from=builder /app/target/*.jar app.jar EXPOSE 8080 CMD ["java", "-jar", "app.jar"]