diff --git a/espid2sensor/deploy.sh b/espid2sensor/deploy.sh index 2918419..f5466fd 100755 --- a/espid2sensor/deploy.sh +++ b/espid2sensor/deploy.sh @@ -1,36 +1,60 @@ -# Deplay ein Sensor-File auf das docker registry (docker.citysensor.de) -# -# v 1.0 2024-09-01 rxf -# erste Version +#!/bin/bash -#set -x +set -e -registry=docker.citysensor.de -name=esp2sensor +# Angepasst aus dem noise-/sensorapi-deploy.sh +# Nur linux/amd64, nativer Build auf esprimo (amd64) -> kein buildx/qemu, +# eigener Dockerfile-Name (Dockerfile_esp2sensor). +# Ziel-Registry, per Umgebungsvariable ueberschreibbar: +# REGISTRY=anderes.registry.example ./deploy.sh +REGISTRY="${REGISTRY:-ghcr.io/dnms-org/laermkarte-sensor-community}" +IMAGE_NAME="esp2sensor" +TAG="${1:-latest}" +PLATFORM="linux/amd64" +DOCKERFILE="Dockerfile_esp2sensor" +FULL_IMAGE="${REGISTRY}/${IMAGE_NAME}:${TAG}" +BUILD_DATE=$(date +%d.%m.%Y) -usage() -{ - echo "Usage ./deploy.sh" - echo " Build docker container '$name' and deploy to $registry" - echo "Params:" - echo " -h show this usage" -} +echo "==========================================" +echo "esp2sensor Deploy Script (amd64)" +echo "==========================================" +echo "Registry: ${REGISTRY}" +echo "Image: ${IMAGE_NAME}" +echo "Tag: ${TAG}" +echo "Platform: ${PLATFORM}" +echo "Dockerfile: ${DOCKERFILE}" +echo "Build-Datum: ${BUILD_DATE}" +echo "==========================================" +echo "" -while getopts h? o -do - case "$o" in - h) usage; exit 0;; - *) usage; exit 1;; - esac -done -shift $((OPTIND-1)) +# Hinweis: Login wird uebersprungen, weil die Credentials fuer ${REGISTRY} +# bereits in ~/.docker/config.json liegen. +# Bei Bedarf manuell: docker login ${REGISTRY} +echo ">>> Baue Image (nur ${PLATFORM}, nativ) ..." +docker build \ + --platform "${PLATFORM}" \ + -f "${DOCKERFILE}" \ + -t "${FULL_IMAGE}" \ + . +echo "" -./build_and_copy.sh localhost -docker tag $name docker.citysensor.de/$name:latest -dat=`date +%Y%m%d%H%M` -docker tag $name docker.citysensor.de/$name:V_$dat -docker push docker.citysensor.de/$name +echo ">>> Pushe ${FULL_IMAGE} ..." +docker push "${FULL_IMAGE}" +echo "" +# Falls ein anderer Tag als 'latest' gebaut wurde, zusaetzlich latest setzen+pushen +if [ "${TAG}" != "latest" ]; then + echo ">>> Tagge zusaetzlich als :latest ..." + docker tag "${FULL_IMAGE}" "${REGISTRY}/${IMAGE_NAME}:latest" + docker push "${REGISTRY}/${IMAGE_NAME}:latest" + echo "" +fi +echo "==========================================" +echo "Build + Push fertig: ${FULL_IMAGE}" +echo "==========================================" +echo "" +echo "Danach Stack aktualisieren:" +echo " cd /opt/stacks/esprimo/noisesensors && docker compose up -d esp2sensor"