From b2f6fa099387d77caf1058fbf9c6efa2fb9cbd8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reinhard=20X=2E=20F=C3=BCrst?= Date: Mon, 3 Aug 2026 15:38:35 +0000 Subject: [PATCH] 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 --- noise/deploy.sh | 24 ++++++++++++++++++++++++ readarchive/deploy.sh | 24 ++++++++++++++++++++++++ readin/deploy.sh | 24 ++++++++++++++++++++++++ sensorapi/deploy.sh | 24 ++++++++++++++++++++++++ 4 files changed, 96 insertions(+) diff --git a/noise/deploy.sh b/noise/deploy.sh index a044a5e..74d644a 100755 --- a/noise/deploy.sh +++ b/noise/deploy.sh @@ -7,6 +7,10 @@ set -e # eigener Dockerfile-Name (Dockerfile_noise). Image-Name: noise. 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="noise" TAG="${1:-latest}" PLATFORM="linux/amd64" @@ -50,6 +54,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 "==========================================" diff --git a/readarchive/deploy.sh b/readarchive/deploy.sh index 5ad78ef..1b27976 100755 --- a/readarchive/deploy.sh +++ b/readarchive/deploy.sh @@ -7,6 +7,10 @@ set -e # readarchive und readin 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="readarchive" TAG="${1:-latest}" PLATFORM="linux/amd64" @@ -54,6 +58,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 "==========================================" diff --git a/readin/deploy.sh b/readin/deploy.sh index c785159..e51b568 100755 --- a/readin/deploy.sh +++ b/readin/deploy.sh @@ -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 "==========================================" diff --git a/sensorapi/deploy.sh b/sensorapi/deploy.sh index 056e4a2..f22f258 100755 --- a/sensorapi/deploy.sh +++ b/sensorapi/deploy.sh @@ -7,6 +7,10 @@ set -e # eigener Dockerfile-Name (Dockerfile_sensorapi). 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="sensorapi" TAG="${1:-latest}" PLATFORM="linux/amd64" @@ -50,6 +54,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 "=========================================="