espid2sensor/deploy.sh an die anderen deploy.sh angleichen
REGISTRY per Env-Variable konfigurierbar (Default ghcr.io/dnms-org/laermkarte-sensor-community), Build direkt ueber docker build -f Dockerfile_esp2sensor statt ueber das alte scp-basierte build_and_copy.sh, einheitlicher Aufbau/Ausgabe wie bei noise/sensorapi/readin/readarchive. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+51
-27
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user