diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..bbe19ce1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +# Setup builder +FROM gradle:8.5.0-jdk17-alpine AS build +ENV APP_HOME=/usr/app +WORKDIR ${APP_HOME} +COPY build.gradle.kts settings.gradle.kts ${APP_HOME} + +# Configure repository +COPY gradle ${APP_HOME}/gradle +COPY --chown=gradle:gradle . /home/gradle/src +USER root +RUN chown -R gradle /home/gradle/src + +# Build jar +RUN gradle build || return 0 +COPY . . +RUN gradle clean build + +# Setup runner +FROM gradle:8.5.0-jdk17-alpine AS runner +ENV ARTIFACT_NAME=backend-0.0.1-SNAPSHOT.jar +ENV APP_HOME=/usr/app +WORKDIR ${APP_HOME} +COPY --from=build ${APP_HOME}/build/libs/${ARTIFACT_NAME} . + +# Run +EXPOSE 8080 +ENTRYPOINT ["sh", "-c", "java -jar ${ARTIFACT_NAME}"] \ No newline at end of file