Files
trainingsplan/.gitea/workflows/build-image.yml
T
AI-Agent 53c29ae9dc
Image bauen und in die Registry schieben / build (push) Failing after 6s
CI: Build-Schritt nutzt ein -t pro Image-Tag
2026-10-02 01:51:46 +00:00

51 lines
1.6 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: |
ARGS=()
for t in ${{ steps.img.outputs.tags }}; do
ARGS+=("-t" "$t")
done
docker build --no-cache "${ARGS[@]}" .
- name: Image pushen
run: docker push ${{ steps.img.outputs.tags }}