mirror of
https://github.com/pcvolkmer/etl-processor.git
synced 2025-07-02 14:32:55 +00:00
feat: add Dockerfile for build within docker environment and run application within a container.
This commit is contained in:
36
Dockerfile
Normal file
36
Dockerfile
Normal file
@ -0,0 +1,36 @@
|
||||
FROM gradle:8.1-jdk17 AS build
|
||||
WORKDIR /home/gradle/src
|
||||
ENV GRADLE_USER_HOME /gradle
|
||||
|
||||
COPY build.gradle.kts settings.gradle.kts ./
|
||||
|
||||
COPY --chown=gradle:gradle . .
|
||||
RUN gradle build --info && \
|
||||
java -Djarmode=layertools -jar build/libs/*.jar extract
|
||||
|
||||
FROM gcr.io/distroless/java17:nonroot
|
||||
WORKDIR /opt/kafka-streams-template
|
||||
COPY --from=build /home/gradle/src/dependencies/ ./
|
||||
COPY --from=build /home/gradle/src/spring-boot-loader/ ./
|
||||
COPY --from=build /home/gradle/src/application/ ./
|
||||
COPY HealthCheck.java .
|
||||
|
||||
USER nonroot
|
||||
ARG GIT_REF=""
|
||||
ARG GIT_URL=""
|
||||
ARG BUILD_TIME=""
|
||||
ARG VERSION=0.0.0
|
||||
ENV APP_VERSION=${VERSION} \
|
||||
SPRING_PROFILES_ACTIVE="prod"
|
||||
ENTRYPOINT ["java", "-XX:MaxRAMPercentage=90", "org.springframework.boot.loader.JarLauncher"]
|
||||
|
||||
HEALTHCHECK --interval=25s --timeout=3s --retries=2 CMD ["java", "HealthCheck.java", "||", "exit", "1"]
|
||||
|
||||
LABEL org.opencontainers.image.created=${BUILD_TIME} \
|
||||
org.opencontainers.image.authors="Paul-Chrisitan Volkmer, Jakub Lidke" \
|
||||
org.opencontainers.image.source=${GIT_URL} \
|
||||
org.opencontainers.image.version=${VERSION} \
|
||||
org.opencontainers.image.revision=${GIT_REF} \
|
||||
org.opencontainers.image.vendor="" \
|
||||
org.opencontainers.image.title="etl-processor" \
|
||||
org.opencontainers.image.description="Relay application between Onkostar and bwHc for pseudonymization or anonymization of patient data and profide additional monitoring of processed data."
|
Reference in New Issue
Block a user