ldc-arcadia-genesis-demo/Dockerfile

36 lines
910 B
Docker

# syntax=docker/dockerfile:1
ARG JAVA_VERSION=25
ARG API_VERSION=v1
FROM eclipse-temurin:${JAVA_VERSION}-jdk AS build
ARG API_VERSION
WORKDIR /workspace
COPY .mvn/ .mvn/
COPY mvnw mvnw
COPY pom.xml pom.xml
COPY checkstyle/ checkstyle/
COPY config/ config/
COPY src/ src/
RUN chmod +x mvnw
RUN ./mvnw -pl "src/api/${API_VERSION}" -am package -DskipTests
RUN JAR_PATH="$(find "src/api/${API_VERSION}/target" -maxdepth 1 -type f -name '*.jar' ! -name 'original-*.jar' | head -n 1)" \
&& test -n "$JAR_PATH" \
&& cp "$JAR_PATH" /workspace/app.jar
FROM eclipse-temurin:${JAVA_VERSION}-jre AS runtime
ARG API_VERSION=v1
ARG APP_PORT=8080
ENV API_VERSION=${API_VERSION}
ENV APP_PORT=${APP_PORT}
ENV SERVER_PORT=${APP_PORT}
ENV SERVER_SERVLET_CONTEXT_PATH=/api/${API_VERSION}
WORKDIR /app
COPY --from=build /workspace/app.jar /app/app.jar
EXPOSE ${APP_PORT}
ENTRYPOINT ["java", "-jar", "/app/app.jar"]