4723af5bca
Multi-stage build (Maven 3.9.9 + Eclipse Temurin 21 → eclipse-temurin:21-jre): - ordinis-read-api/Dockerfile (port 8081) - ordinis-projection-writer/Dockerfile (port 8082) JVM args: -XX:+UseZGC -XX:MaxRAMPercentage=75 (low-pause GC + container-aware memory). MaxRAMPercentage важен потому что Helm задаёт container memory limit через resources.limits.memory; JVM должна respect'ить это. Helm chart (terravault/ordinis-infra/charts/ordinis/) теперь имеет полный набор images для deploy: registry.k8s.265.nstart.local/terravault/ordinis-app:<tag> registry.k8s.265.nstart.local/terravault/ordinis-read-api:<tag> registry.k8s.265.nstart.local/terravault/ordinis-projection-writer:<tag> registry.k8s.265.nstart.local/terravault/ordinis-migrations:<tag>
21 lines
786 B
Docker
21 lines
786 B
Docker
FROM maven:3.9.9-eclipse-temurin-21 AS build
|
|
WORKDIR /build
|
|
COPY pom.xml ./
|
|
COPY ordinis-domain ./ordinis-domain
|
|
COPY ordinis-validation ./ordinis-validation
|
|
COPY ordinis-events-api ./ordinis-events-api
|
|
COPY ordinis-outbox ./ordinis-outbox
|
|
COPY ordinis-rest-api ./ordinis-rest-api
|
|
COPY ordinis-cuod-bundle ./ordinis-cuod-bundle
|
|
COPY ordinis-app ./ordinis-app
|
|
COPY ordinis-read-api ./ordinis-read-api
|
|
COPY ordinis-migrations ./ordinis-migrations
|
|
COPY ordinis-projection-writer ./ordinis-projection-writer
|
|
RUN mvn -B -pl ordinis-projection-writer -am package -DskipTests
|
|
|
|
FROM eclipse-temurin:21-jre
|
|
WORKDIR /app
|
|
COPY --from=build /build/ordinis-projection-writer/target/*.jar /app/app.jar
|
|
EXPOSE 8082
|
|
ENTRYPOINT ["java", "-XX:+UseZGC", "-XX:MaxRAMPercentage=75", "-jar", "/app/app.jar"]
|