Gradle and Docker: How to run a Gradle build within Docker container? Gradle and Docker: How to run a Gradle build within Docker container? docker docker

Gradle and Docker: How to run a Gradle build within Docker container?


After reading this article I have been able to solve this using a Multi Stage Docker Build. Please see the Docker file below:

# using multistage docker build# ref: https://docs.docker.com/develop/develop-images/multistage-build/    # temp container to build using gradleFROM gradle:5.3.0-jdk-alpine AS TEMP_BUILD_IMAGEENV APP_HOME=/usr/app/WORKDIR $APP_HOMECOPY build.gradle settings.gradle $APP_HOME  COPY gradle $APP_HOME/gradleCOPY --chown=gradle:gradle . /home/gradle/srcUSER rootRUN chown -R gradle /home/gradle/src    RUN gradle build || return 0COPY . .RUN gradle clean build    # actual containerFROM adoptopenjdk/openjdk11:alpine-jreENV ARTIFACT_NAME=pokerstats-0.0.1-SNAPSHOT.jarENV APP_HOME=/usr/app/    WORKDIR $APP_HOMECOPY --from=TEMP_BUILD_IMAGE $APP_HOME/build/libs/$ARTIFACT_NAME .    EXPOSE 8080ENTRYPOINT exec java -jar ${ARTIFACT_NAME}