Skip to content
This repository has been archived by the owner on Jul 29, 2024. It is now read-only.

Build And Publish Application #12

Build And Publish Application

Build And Publish Application #12

Workflow file for this run

name: Build And Publish Application
on:
workflow_dispatch:
inputs:
release-docker-image:
description: 'Release Docker Images using version specified in pom.xml (y/n)?'
required: true
default: 'y'
jobs:
build-and-publish-docker-image:
if: github.event.inputs.release-docker-image == 'y'
runs-on: ubuntu-latest
steps:
- name: PREP / Checkout sources
uses: actions/checkout@v4
- name: PREP / Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'corretto'
- name: PREP / Set up QEMU
uses: docker/setup-qemu-action@v3
- name: PREP / Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: PREP / Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_MIRAGON_USERNAME }}
password: ${{ secrets.DOCKER_MIRAGON_PASSWORD }}
- name: PREP / Set Release version env variable
run: |
echo "RELEASE_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV
# BUILD ALL SERVICES USING MAVEN
- name: BUILD / SERVICES / Execute Maven build
run: ./mvnw package
# BUILD TASKLIST-WEB-APP
- name: BUILD / APPS / Install dependencies
run: ./mvnw -f apps clean install
- name: BUILD / APPS / Build Tasklist-Web-App
run: ./mvnw -f apps -Pbuild
# DOCKERIZE & PUBLISH ALL IMAGES
- name: DOCKER / BUILD & PUBLISH / miragon/miranum-platform-engine-tasklist-service
uses: docker/build-push-action@v5
with:
context: ./services/engine-tasklist-service/.
push: true
tags: miragon/miranum-platform-engine-tasklist-service:${{ env.RELEASE_VERSION }},miragon/miranum-platform-engine-tasklist-service:latest
platforms: linux/amd64, linux/arm64/v8
- name: DOCKER / BUILD & PUBLISH / miragon/miranum-platform-schema-registry-service
uses: docker/build-push-action@v5
with:
context: ./services/schema-registry-service/.
push: true
tags: miragon/miranum-platform-schema-registry-service:${{ env.RELEASE_VERSION }},miragon/miranum-platform-schema-registry-service:latest
platforms: linux/amd64, linux/arm64/v8
- name: DOCKER / BUILD & PUBLISH / miragon/miranum-platform-deployment-service
uses: docker/build-push-action@v5
with:
context: ./services/deployment-service/.
push: true
tags: miragon/miranum-platform-deployment-service:${{ env.RELEASE_VERSION }},miragon/miranum-platform-deployment-service:latest
platforms: linux/amd64, linux/arm64/v8
- name: DOCKER / BUILD & PUBLISH / miragon/miranum-platform-s3-integration-service
uses: docker/build-push-action@v5
with:
context: ./services/s3-integration-service/.
push: true
tags: miragon/miranum-platform-s3-integration-service:${{ env.RELEASE_VERSION }},miragon/miranum-platform-s3-integration-service:latest
platforms: linux/amd64, linux/arm64/v8
- name: DOCKER / BUILD & PUBLISH / miragon/miranum-platform-tasklist-webapp
uses: docker/build-push-action@v5
with:
context: ./apps/packages/apps/digiwf-tasklist/.
push: true
tags: miragon/miranum-platform-tasklist-webapp:${{ env.RELEASE_VERSION }},miragon/miranum-platform-tasklist-webapp:latest
platforms: linux/amd64, linux/arm64/v8