Files
AI-Agent 25ed34e80e
Image bauen und in die Registry schieben / build (push) Successful in 6s
CI: Build+Push in einem Schritt ohne Step-Output (kompatibel mit Gitea act)
2026-10-02 01:54:19 +00:00

40 lines
1.4 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.
# Gebaut und gepusht wird in einem Schritt (keine Step-Outputs noetig).
- name: Image bauen und pushen
run: |
IMG="git.somantis.net/j4stmarkus/trainingsplan"
TAGS=("$IMG:latest")
if [ "${{ github.ref_type }}" = "tag" ]; then
TAGS+=("$IMG:${{ github.ref_name }}")
fi
TAGS+=("$IMG:${{ github.sha }}")
ARGS=()
for t in "${TAGS[@]}"; do ARGS+=("-t" "$t"); done
docker build --no-cache "${ARGS[@]}" .
for t in "${TAGS[@]}"; do docker push "$t"; done