CI: Version-Tags bei Git-Tags (v*) - zusaetzlich zu latest+sha
Image bauen und in die Registry schieben / build (push) Failing after 4s

- Push auf main -> git.somantis.net/j4stmarkus/trainingsplan:latest + :<sha>
- Push eines Git-Tags v* -> zusaetzlich :vX.Y.Z (z.B. :v1.0.0)
- Nutzer ziehen :latest (rolling) oder eine feste Version per Tag
This commit is contained in:
AI-Agent committed 2026-10-02 01:49:27 +00:00
1 parent 1984ce700c
commit 10f3e713c5
1 file changed
+20 -7
+20 -7
View File
@@ -3,6 +3,7 @@ name: Image bauen und in die Registry schieben
on:
push:
branches: [main]
tags: ['v*']
workflow_dispatch:
jobs:
@@ -12,9 +13,8 @@ jobs:
- uses: actions/checkout@v4
# Der Job laeuft in einem Container, der je nach Runner-Label keine
# Docker-CLI mitbringt (z.B. node:20-bookworm). Sicherstellen, dass
# `docker` vorhanden ist; der Runner muss den Docker-Socket
# (-v /var/run/docker.sock) bereitstellen.
# Docker-CLI mitbringt. Sicherstellen, dass `docker` vorhanden ist;
# der Runner muss den Docker-Socket (-v /var/run/docker.sock) stellen.
- name: Docker-CLI sicherstellen
run: |
if ! command -v docker >/dev/null 2>&1; then
@@ -24,10 +24,23 @@ jobs:
- name: Bei der Registry anmelden
run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.somantis.net -u "${{ secrets.REGISTRY_USER }}" --password-stdin
# Tags: main-Push -> latest + SHA; Tag-Push (v*) -> vX.Y.Z + SHA.
# So zieht man entweder die aktuelle Version (:latest) oder eine
# feste Version (z.B. :v1.0.0).
- name: Image-Tags bestimmen
id: img
run: |
IMG="git.somantis.net/j4stmarkus/trainingsplan"
TAGS="$IMG:latest"
if [ "${{ github.ref_type }}" = "tag" ]; then
TAGS="$TAGS $IMG:${{ github.ref_name }}"
fi
TAGS="$TAGS $IMG:${{ github.sha }}"
echo "tags=$TAGS" >> "$GITHUB_OUTPUT"
echo "tags=$TAGS"
- name: Image bauen
run: docker build --no-cache -t git.somantis.net/j4stmarkus/trainingsplan:latest -t git.somantis.net/j4stmarkus/trainingsplan:${{ github.sha }} .
run: docker build --no-cache -t ${{ steps.img.outputs.tags }} .
- name: Image pushen
run: |
docker push git.somantis.net/j4stmarkus/trainingsplan:latest
docker push git.somantis.net/j4stmarkus/trainingsplan:${{ github.sha }}
run: docker push ${{ steps.img.outputs.tags }}