diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5f087282..0771f6c6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,7 +38,7 @@ jobs: run: ./gradlew ktlintCheck - name: Upload ktlint report - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: lint-reports path: build/reports/ktlint @@ -70,7 +70,7 @@ jobs: uses: codecov/codecov-action@v3 - name: Upload test reports - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: test-reports path: | 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