Skip to content

Build jmalcloud Docker Image #23

Build jmalcloud Docker Image

Build jmalcloud Docker Image #23

Workflow file for this run

name: Build and Push Multi-Platform Docker Image
on:
workflow_dispatch:
release:
types: [published]
tags: [v*]
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up JDK 17 and Maven 3.8.4
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: '17'
maven-version: '3.8.4'
- name: Build with Maven
run: mvn clean package -DskipTests
- name: Extract project version from pom.xml
run: |
VERSION=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
echo "PROJECT_VERSION=$VERSION" >> $GITHUB_ENV
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push Docker image
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
push: true
tags: jmal/jmalcloud:${{ env.PROJECT_VERSION }},jmal/jmalcloud:latest
platforms: linux/amd64,linux/arm64
build-args: |
VERSION=${{ env.PROJECT_VERSION }}
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}