From 10f3e713c5fef3ff8c5f8a3aa6b098c10d80b4d3 Mon Sep 17 00:00:00 2001 From: AI Agent Date: Fri, 2 Oct 2026 01:49:27 +0000 Subject: [PATCH] CI: Version-Tags bei Git-Tags (v*) - zusaetzlich zu latest+sha - Push auf main -> git.somantis.net/j4stmarkus/trainingsplan:latest + : - Push eines Git-Tags v* -> zusaetzlich :vX.Y.Z (z.B. :v1.0.0) - Nutzer ziehen :latest (rolling) oder eine feste Version per Tag --- .gitea/workflows/build-image.yml | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/.gitea/workflows/build-image.yml b/.gitea/workflows/build-image.yml index c658ee4..39b0a6a 100644 --- a/.gitea/workflows/build-image.yml +++ b/.gitea/workflows/build-image.yml @@ -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 }} \ No newline at end of file + run: docker push ${{ steps.img.outputs.tags }} \ No newline at end of file