FROM docker.io/library/maven:3.9.9-eclipse-temurin-17 AS mvn WORKDIR /app ARG MAVEN_ARGS="--batch-mode --color=always --no-transfer-progress -DskipTests -P=-dev" ARG MAVEN_MIRROR_CENTRAL=https://mirror.grayc.io/maven2 RUN mkdir "$HOME/.m2" && printf "\n\ \n\ /tmp/mvn-repo\n\ \n\ \n\ %s\n\ central\n\ \n\ \n\ " "$MAVEN_MIRROR_CENTRAL" > "$HOME/.m2/settings.xml" && cat "$HOME/.m2/settings.xml" COPY pom.xml lombok.config ./ COPY api/pom.xml api/pom.xml COPY service/pom.xml service/pom.xml RUN mvn install -N COPY .git / COPY api/ api/ RUN mvn install -pl api COPY service/ service/ RUN mvn install -pl service FROM docker.io/library/eclipse-temurin:21.0.7_6-jre@sha256:031eb6ccad828004407c0a41f6a4009a08289961d55e9119287c28756522a945 COPY service/target/libs /app/libs COPY service/target/minoa-service-*.jar /app/minoa.jar COPY api/openapi.yaml /static/openapi.yaml COPY --from=app /app/dist /static COPY --from=mkdocs-user-manual /mkdocs/site /static/docs ENTRYPOINT ["java", "-XX:+ExitOnOutOfMemoryError", "-jar", "/app/minoa.jar"]