Files
trainingsplan/.gitea/workflows/build-image.yml
T
AI-Agent 10f3e713c5
Image bauen und in die Registry schieben / build (push) Failing after 4s
CI: Version-Tags bei Git-Tags (v*) - zusaetzlich zu latest+sha
- 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
2026-10-02 01:49:27 +00:00

46 lines
1.5 KiB
YAML

name: Image bauen und in die Registry schieben
on:
push:
branches: [main]
tags: ['v*']
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Der Job laeuft in einem Container, der je nach Runner-Label keine
# 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
apt-get update && apt-get install -y docker.io
fi
- 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 ${{ steps.img.outputs.tags }} .
- name: Image pushen
run: docker push ${{ steps.img.outputs.tags }}