diff --git a/.github/workflows/publish-to-dockerhub.yml b/.github/workflows/publish-to-dockerhub.yml index 6ecad81..c01336a 100644 --- a/.github/workflows/publish-to-dockerhub.yml +++ b/.github/workflows/publish-to-dockerhub.yml @@ -14,16 +14,21 @@ jobs: runs-on: self-hosted steps: + - uses: actions/checkout@v3 + - name: Set up Docker + uses: docker/setup-buildx-action@v2 - name: Login to Dockerhub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - - uses: actions/checkout@v3 + - name: Build Bootable JAR + run: | + docker build -f Dockerfile.build -t builder-image . + docker run --rm builder-image > app.jar + - name: Set up QEMU uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Build and publish Docker image + - name: Build and publish Docker image for multiple architectures run: | - docker buildx build --platform linux/amd64,linux/arm64/v8 -t daithihearn/electricity-prices:latest -t daithihearn/electricity-prices:${{ github.ref_name }} --push . + docker buildx build --platform linux/amd64,linux/arm64/v8,linux/arm/v7 -f Dockerfile.deploy -t daithihearn/electricity-prices:latest -t daithihearn/electricity-prices:${{ github.ref_name }} --push . diff --git a/.version b/.version index f263cd1..88d3ee7 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -1.8.6 +1.8.7 diff --git a/Dockerfile.build b/Dockerfile.build new file mode 100644 index 0000000..539d6e9 --- /dev/null +++ b/Dockerfile.build @@ -0,0 +1,18 @@ +FROM eclipse-temurin:17 AS builder + +WORKDIR /opt/app + +COPY ./gradle ./gradle +COPY ./gradlew ./ + +RUN ./gradlew + +COPY ./build.gradle.kts ./ +COPY ./settings.gradle ./ +COPY ./system.properties ./ +COPY ./.version ./ +COPY ./src ./src + +RUN ./gradlew build publishToMavenLocal + +CMD ["cat", "/opt/app/build/libs/electricity-prices*.jar"] diff --git a/Dockerfile.deploy b/Dockerfile.deploy new file mode 100644 index 0000000..91c4485 --- /dev/null +++ b/Dockerfile.deploy @@ -0,0 +1,7 @@ +FROM eclipse-temurin:17 + +WORKDIR /opt/app + +COPY app.jar /opt/app/app.jar + +ENTRYPOINT ["java", "-Djdk.tls.client.protocols=TLSv1.2", "-jar", "./app.jar", "-XX:+UseContainerSupport"]