21 lines
1023 B
Docker
21 lines
1023 B
Docker
# Multi-stage build для ordinis-app.
|
|
#
|
|
# COPY . ./ + root .dockerignore: один rule вместо explicit per-module
|
|
# list. Когда добавляется новый Maven module в parent pom.xml — Docker
|
|
# build автоматически его подхватит, без правки этого файла. Lesson из
|
|
# Phase A (notifications module): explicit COPY list пропускал новый
|
|
# module → `mvn -am package` падал на parent pom validation.
|
|
#
|
|
# .dockerignore исключает frontend (admin-ui), bench, docs, target/, .git/,
|
|
# IDE metadata — backend image остаётся компактным.
|
|
FROM repo.nstart.cloud/library/maven:3.9.9-eclipse-temurin-21 AS build
|
|
WORKDIR /build
|
|
COPY . ./
|
|
RUN mvn -B -pl ordinis-app -am package -DskipTests
|
|
|
|
FROM repo.nstart.cloud/library/eclipse-temurin:21-jre
|
|
WORKDIR /app
|
|
COPY --from=build /build/ordinis-app/target/*.jar /app/app.jar
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["java", "-XX:+UseZGC", "-XX:MaxRAMPercentage=75", "-jar", "/app/app.jar"]
|