Created
January 3, 2024 09:42
-
-
Save bejean/755b09e91636c466d7c9c9c929a315a7 to your computer and use it in GitHub Desktop.
Exemple Dockerfile pour déployer une application conteneurisée dans Cloud Run avec Cloud Build
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM maven:3.6.3-openjdk-11 AS builder | |
# La variable d'envirronement READPASSWORD est passée en argument lors du build : docker build -t ... --build-arg READPASSWORD=... | |
# Elle est utilisée dans l'étape "mvn -e -B dependency:resolve" par substitution dans /root/.m2/settings.xml (<password>${env.READPASSWORD}</password>) | |
# Lors du build dans Cloud Build (cloudbuild.yaml), la valeur est récupérée depuis Secret Manager | |
ARG READPASSWORD | |
RUN apt-get update && apt-get -y install dos2unix | |
WORKDIR /app | |
COPY pom.xml . | |
COPY settings-read.xml /root/.m2/settings.xml | |
RUN mvn -e -B dependency:resolve | |
COPY src ./src | |
RUN mvn -e -B -Dmaven.test.skip=true package | |
WORKDIR /opt/hdtmdata/ | |
COPY src/main/resources/*.json ./samples/ | |
COPY entrypoint.sh config*.yml ./bin/ | |
RUN cd /opt/hdtmdata/bin && dos2unix *.sh *.yml | |
RUN find /opt/hdtmdata/samples -exec dos2unix \{\} \; | |
FROM openjdk:11 | |
ENV HDTMDATA_JAR="hdtmdata-0.2.jar" | |
COPY --from=builder /opt/hdtmdata/ /opt/hdtmdata/ | |
WORKDIR /opt/hdtmdata/ | |
COPY --from=builder /app/target/${HDTMDATA_JAR} /opt/hdtmdata/bin/ | |
ENV HDTMDATA_APPLICATION \ | |
HDTMDATA_DATAS | |
ENV HDTMDATA_CONFIG=config.yml | |
ENTRYPOINT ["/bin/bash", "/opt/hdtmdata/bin/entrypoint.sh" ] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment