####################################### Build stage ####################################### FROM maven:3.9-eclipse-temurin-21-alpine AS build-stage ARG MAVEN_ACCOUNT_USR ARG MAVEN_ACCOUNT_PSW ARG REVISION ARG PROFILE ARG DEV_PROFILE_URL ENV server_username=$MAVEN_ACCOUNT_USR ENV server_password=$MAVEN_ACCOUNT_PSW COPY pom.xml /build/ COPY core /build/core/ COPY web /build/web/ COPY settings.xml /root/.m2/settings.xml RUN rm -f /build/web/src/main/resources/config/*-devel.yml RUN rm -f /build/web/src/main/resources/logging/*.xml WORKDIR /build/ #RUN mvn package -q RUN mvn -Drevision=${REVISION} -DdevProfileUrl=${DEV_PROFILE_URL} -P${PROFILE} dependency:go-offline # Build project RUN mvn -Drevision=${REVISION} -DdevProfileUrl=${DEV_PROFILE_URL} -P${PROFILE} clean package -q ######################################## Run Stage ######################################## FROM eclipse-temurin:21-jre-alpine WORKDIR /app ARG PROFILE ARG REVISION ENV SERVER_PORT=8080 EXPOSE ${SERVER_PORT} COPY --from=build-stage /build/web/target/web-${REVISION}.jar /app.jar ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-Dspring.profiles.active=${PROFILE}", "-Dspring.config.additional-location=file:/config/", "-jar", "/app.jar"]