Files
Felix KemmlerandClaude Sonnet 5 c8a514af9b
Docker-Images bauen und veröffentlichen / build (, omsorgCore/Dockerfile, omsorgcore) (push) Successful in 3s
Docker-Images bauen und veröffentlichen / build (, omsorgWeb/Dockerfile, omsorgweb) (push) Successful in 4s
Docker-Images bauen und veröffentlichen / build (, omsorgapp/Dockerfile, omsorgapp) (push) Successful in 3s
Only build/push Docker images on version tags, not every main push
Rebuilding and pushing all three images on every commit was unnecessary
churn - the workflow now triggers exclusively on v* tags, so :latest
tracks the last released version instead of the last commit.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-10 18:41:23 +02:00

52 lines
1.6 KiB
YAML

name: Docker-Images bauen und veröffentlichen
on:
push:
tags: ["v*"]
env:
REGISTRY: git.omsorg-pflegedienste.de
IMAGE_NAMESPACE: admin/omsorg
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- image: omsorgcore
dockerfile: omsorgCore/Dockerfile
build_args: ""
- image: omsorgapp
dockerfile: omsorgapp/Dockerfile
build_args: ""
- image: omsorgweb
dockerfile: omsorgWeb/Dockerfile
build_args: ""
steps:
- name: Code auschecken
uses: actions/checkout@v4
- name: Bei Registry anmelden
run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login ${{ env.REGISTRY }} -u "${{ gitea.actor }}" --password-stdin
- name: Image bauen und pushen
run: |
BUILD_ARGS=""
if [ -n "${{ matrix.build_args }}" ]; then
BUILD_ARGS="--build-arg ${{ matrix.build_args }}"
fi
IMAGE="${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/${{ matrix.image }}"
# Läuft nur noch bei einem Tag-Push (siehe `on:` oben) - :latest zeigt damit immer auf
# den zuletzt getaggten Release, nicht auf jeden main-Commit. :<sha> bleibt zusätzlich
# als exakter Build-Beleg, :<tag-name> (z.B. v0.1.3) zum gezielten Pinnen.
TAGS="-t $IMAGE:latest -t $IMAGE:${{ gitea.sha }} -t $IMAGE:${{ gitea.ref_name }}"
docker buildx build \
--push \
-f "${{ matrix.dockerfile }}" \
$TAGS \
$BUILD_ARGS \
.