software steht so weit.

jetzt build + docker build und testen
This commit is contained in:
br committed 2026-10-02 13:25:34 +02:00
1 parent 42f0c0accb
commit ca6cdcca63
90 files changed
+10298 -480

No files matched your search

+43
View File
@@ -0,0 +1,43 @@
#!/usr/bin/env bash
# Baut das Multi-Arch-Image (amd64 + arm64) und schiebt es in die
# Container-Registry von Gitea.
#
# docker login git.everdc.eu # einmalig, Gitea-User + Token mit write:package
# deploy/push-image.sh # Tag aus `git describe`
# LATEST=1 deploy/push-image.sh # zusätzlich :latest setzen (nur für Releases)
#
# Ergebnis: ${REGISTRY}/${OWNER}/sultan:<version> (und ggf. :latest)
set -euo pipefail
cd "$(dirname "$0")/.."
REGISTRY="${REGISTRY:-git.everdc.eu}"
OWNER="${OWNER:-chmln-app-dev}"
IMAGE="${REGISTRY}/${OWNER}/sultan"
VERSION="${VERSION:-$(git describe --tags --always --dirty)}"
PLATFORMS="${PLATFORMS:-linux/amd64,linux/arm64}"
case "$VERSION" in
*-dirty)
echo "Arbeitsverzeichnis hat uncommittete Änderungen (${VERSION}) – erst committen." >&2
exit 1
;;
esac
tags=(-t "${IMAGE}:${VERSION}")
if [ "${LATEST:-0}" = 1 ]; then
tags+=(-t "${IMAGE}:latest")
fi
# Multi-Arch-Builds brauchen einen buildx-Builder mit docker-container-Treiber.
if ! docker buildx inspect sultan-builder >/dev/null 2>&1; then
docker buildx create --name sultan-builder --driver docker-container >/dev/null
fi
docker buildx build --builder sultan-builder \
--platform "$PLATFORMS" \
--build-arg VERSION="$VERSION" \
"${tags[@]}" \
--push .
echo "==> gepusht: ${IMAGE}:${VERSION}"
docker buildx imagetools inspect "${IMAGE}:${VERSION}" | head -n 3