Files
de.captica.expert.devops/.gitea/workflows/publish-docker-springboot.yaml
T
2026-10-10 15:13:59 +02:00

60 lines
2.0 KiB
YAML

#
#
# Publish docker workflow for all modules of captica.expert
#
# Project: workflows
# Author: Marc Böhm <marc.boehm@captica.de>
# 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: Build and publish docker image
runs-on: docker-ubuntu
steps:
- name: Checkout source code
uses: actions/checkout@v4
with:
token: ${{ secrets.GIT_ACCESS_TOKEN }}
submodules: 'true'
fetch-depth: 0
- name: Setup java runtime
uses: actions/setup-java@v6
env:
RUNNER_TOOL_CACHE: /tmp/hostedtoolcache
with:
distribution: 'zulu'
java-version: ${{ vars.JAVA_VERSION }}
- name: Build application jar
run: ./gradlew bootJar
- 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 }}:${{ env.CAPTICA_APPLICATION_VERSION }}
${{ vars.CONTAINER_REGISTRY_URL }}/${{ gitea.repository }}:${{ gitea.sha }}
${{ 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 }}