deploy.sh: Images zusaetzlich nach Gitea pushen

Alle vier Skripte schieben das gebaute Image jetzt auch nach
gitea.fuerst-stuttgart.de/admin, damit es nicht nur an einer Stelle liegt.

Der zweite Push laeuft nach dem ersten und ist bewusst nicht fatal: schlaegt
er fehl, liegt das Image bereits in docker.citysensor.de, aus der der Stack
zieht. Das Skript meldet dann nur, dass die Zweitablage fehlt, statt den
ganzen Deploy als gescheitert auszuweisen.

Abschalten mit  REGISTRY2= ./deploy.sh

Voraussetzung ist ein  docker login gitea.fuerst-stuttgart.de  (Access Token
mit write:package genuegt).

Geprueft: noise, sensorapi, readarchive und readin liegen in beiden
Registries unter demselben Digest.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-03 15:38:35 +00:00
parent 392dc3597d
commit b2f6fa0993
4 changed files with 96 additions and 0 deletions
+24
View File
@@ -9,6 +9,10 @@ set -e
# readarchive sich die Module unter common/ teilen.
REGISTRY="docker.citysensor.de"
# Zweite Registry (Gitea). Das Image wird dorthin zusaetzlich gepusht, damit es
# nicht nur an einer Stelle liegt. Leersetzen schaltet den zweiten Push ab:
# REGISTRY2= ./deploy.sh
REGISTRY2="${REGISTRY2-gitea.fuerst-stuttgart.de/admin}"
IMAGE_NAME="readin"
TAG="${1:-latest}"
PLATFORM="linux/amd64"
@@ -56,6 +60,26 @@ if [ "${TAG}" != "latest" ]; then
echo ""
fi
# Dasselbe Image zusaetzlich in die zweite Registry. Ein Fehlschlag bricht das
# Skript nicht ab: in ${REGISTRY} liegt das Image dann bereits, der Stack kann
# es also ziehen - die Meldung sagt nur, dass die Zweitablage fehlt.
if [ -n "${REGISTRY2}" ]; then
echo ">>> Pushe zusaetzlich nach ${REGISTRY2}/${IMAGE_NAME} ..."
ok=true
docker tag "${FULL_IMAGE}" "${REGISTRY2}/${IMAGE_NAME}:${TAG}"
docker push "${REGISTRY2}/${IMAGE_NAME}:${TAG}" || ok=false
if [ "${ok}" = true ] && [ "${TAG}" != "latest" ]; then
docker tag "${FULL_IMAGE}" "${REGISTRY2}/${IMAGE_NAME}:latest"
docker push "${REGISTRY2}/${IMAGE_NAME}:latest" || ok=false
fi
if [ "${ok}" != true ]; then
echo "!!! Push nach ${REGISTRY2} fehlgeschlagen."
echo "!!! Angemeldet? docker login ${REGISTRY2%%/*}"
echo "!!! ${FULL_IMAGE} ist gepusht und einsetzbar."
fi
echo ""
fi
echo "=========================================="
echo "Build + Push fertig: ${FULL_IMAGE}"
echo "=========================================="