Files
watchlist/bin/build-image.sh
T
ki dbb92cb1ef
CI / test (push) Has been cancelled
chore(release): v0.5.1-beta — push Docker image to Gitea Container Registry
- bin/build-and-push.sh: baut + pusht Image in die Gitea-Registry
  unter git.pkop.de/vibecode/watchlist:<version>
- bin/get-version.py: liest __version__ aus app/__init__.py
  (single source of truth, kein Quoting-Wahnsinn in Bash)
- bin/build-image.sh + write-manifest.sh nutzen den neuen Helper
- dist/README.md: erklärt die Registry-Policy (kein Tar im Repo)
- load-image.sh entfernt — Tars gibt's nicht mehr
- .gitignore: dist/*.tar + manifest.json ausschließen,
  dist/README.md bleibt dokumentiert
- docker-compose.yml: Hinweis auf Registry-Image
- CI-Workflow: vereinfacht, Push läuft lokal (idempotent)
- Version auf 0.5.1-beta gebumpt

Verifiziert end-to-end:
  bin/build-and-push.sh          -> Image in Gitea-Registry
  docker rmi ...                 -> lokal weg
  docker pull ...                -> aus Registry gezogen
  docker run ...                 -> startet, version 0.5.1-beta, 8 unique Items
2026-07-22 00:00:43 +02:00

41 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
# Baut das Docker-Image und legt es als versionierten Tar in dist/ ab.
# Verwendung:
# bin/build-image.sh # baut mit Version aus app/__init__.py
# bin/build-image.sh --load # baut + laedt direkt in lokales Docker
# VERSION=0.6.0 bin/build-image.sh # baut mit expliziter Version
set -euo pipefail
cd "$(dirname "$0")/.."
# Version aus app/__init__.py lesen, falls nicht via env ueberschrieben
if [ -z "${VERSION:-}" ]; then
VERSION=$(python3 bin/get-version.py)
fi
IMAGE="watchstack:${VERSION}"
TAR="dist/watchstack-${VERSION}.docker.tar"
mkdir -p dist
echo ">> Building ${IMAGE}"
docker build -t "${IMAGE}" .
if [ "${1:-}" = "--load" ]; then
echo ">> Loaded into local Docker as ${IMAGE}"
exit 0
fi
echo ">> Saving to ${TAR}"
docker save -o "${TAR}" "${IMAGE}"
# Manifest schreiben
bash bin/write-manifest.sh >/dev/null
echo ">> Wrote dist/manifest.json"
echo ">> Done. Size:"
du -h "${TAR}"
echo
echo "Hinweis: Statt Tar ins Repo zu legen wird das Image normalerweise"
echo "in die Gitea Container Registry gepusht -> bin/build-and-push.sh"
echo ""
echo "Lokal nutzbar via:"
echo " docker load -i ${TAR}"