From d6eb114b8a2c7ff3bf5802d14776929d0e4f8e06 Mon Sep 17 00:00:00 2001 From: Marc Boehm Date: Mon, 25 Mar 2024 11:58:41 +0100 Subject: [PATCH] CAPAUT-353 Add docker build --- .gitea/workflows/build-java.yaml | 6 +-- .../workflows/publish-docker-springboot.yaml | 50 +++++++++++++++++++ 2 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 .gitea/workflows/publish-docker-springboot.yaml diff --git a/.gitea/workflows/build-java.yaml b/.gitea/workflows/build-java.yaml index e9d2062..d1a4bf5 100644 --- a/.gitea/workflows/build-java.yaml +++ b/.gitea/workflows/build-java.yaml @@ -8,12 +8,12 @@ # # Copyright (c) captica GmbH est. 2021 # -name: Example workflow +name: Java Build Workflow on: workflow_call: jobs: - Build: - name: Java Build Job + build: + name: Build java distribution runs-on: nodejs-ubuntu steps: - name: Checkout source code diff --git a/.gitea/workflows/publish-docker-springboot.yaml b/.gitea/workflows/publish-docker-springboot.yaml new file mode 100644 index 0000000..02dce04 --- /dev/null +++ b/.gitea/workflows/publish-docker-springboot.yaml @@ -0,0 +1,50 @@ +# +# +# Publish docker workflow for all modules of captica.expert +# +# Project: workflows +# Author: Marc Böhm +# License: MIT License (see LICENSE.md) +# +# Copyright (c) captica GmbH est. 2021 +# +name: Publish docker workflow for captica.expert modules +on: + workflow-call: +jobs: + publish_docker: + name: Create and publish docker image + runs-on: docker-ubuntu + if: gitea.ref == 'refs/heads/main' + needs: build + steps: + - name: Checkout source code + uses: actions/checkout@v4 + - name: Downlod build artifacts (dist files) + uses: actions/download-artifact@v3 + with: + name: artifacts-build + path: build/ + - name: Setup docker buildx environment + uses: docker/setup-buildx-action@v3 + - name: Login to docker registry + uses: docker/login-action@v3 + with: + registry: ${{ vars.CONTAINER_REGISTRY_URL }} + username: ${{ vars.CONTAINER_REGISTRY_USERNAME }} + password: ${{ secrets.CONTAINER_REGISTRY_TOKEN }} + - name: Setup environment variables from "build/env-setup.sh" + run: | + source build/env-setup.sh + - name: Build and push docker image + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile + push: true + tags: "${{ vars.CONTAINER_REGISTRY_URL }}/${{gitea.repository}}:latest" + build-args: | + FILE_BINARY=${{ env.CAPTICA_APPLICATION_FILE_BINARY }} + NAME_APPLICATION=${{ env.CAPTICA_APPLICATION_NAME }} + PORT_EXPOSURE=${{ env.CAPTICA_APPLICATION_PORT }} + JAVA_VERSION=${{ env.CAPTICA_APPLICATION_JAVA_VERSION }} \ No newline at end of file