# 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"]