Embed APP_VERSION build arg in Docker image (default: dev). build_push.sh passes the git tag as build arg. Proxy exposes GET /version, admin UI shows it as read-only field in settings.
49 lines
1.1 KiB
Bash
Executable File
49 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
cd "$(dirname "$0")"
|
|
|
|
IMAGE=mediaeng/llmproxy
|
|
PLATFORM=linux/arm64
|
|
|
|
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || true)
|
|
HEAD_TAG=$(git tag --points-at HEAD | head -1)
|
|
|
|
if [ -n "$HEAD_TAG" ]; then
|
|
echo "HEAD bereits getaggt: $HEAD_TAG"
|
|
read -rp "Neuer Tag [${HEAD_TAG}]: " INPUT
|
|
VERSION="${INPUT:-$HEAD_TAG}"
|
|
else
|
|
echo "Letzter Tag: ${LAST_TAG:-kein Tag}"
|
|
read -rp "Neuer Tag: " INPUT
|
|
if [ -z "$INPUT" ]; then
|
|
echo "Kein Tag angegeben, breche ab."
|
|
exit 1
|
|
fi
|
|
VERSION="$INPUT"
|
|
fi
|
|
|
|
if [ "$VERSION" != "$HEAD_TAG" ]; then
|
|
git tag "$VERSION"
|
|
git push origin "$VERSION"
|
|
echo "Tag '$VERSION' gesetzt und gepusht."
|
|
fi
|
|
|
|
echo ""
|
|
echo "Image : $IMAGE"
|
|
echo "Platform: $PLATFORM"
|
|
echo "Tags : $IMAGE:$VERSION $IMAGE:latest"
|
|
echo ""
|
|
|
|
docker buildx build \
|
|
--platform "$PLATFORM" \
|
|
--push \
|
|
--build-arg APP_VERSION="$VERSION" \
|
|
-t "$IMAGE:$VERSION" \
|
|
-t "$IMAGE:latest" \
|
|
.
|
|
|
|
echo ""
|
|
echo "Fertig. Gepusht:"
|
|
echo " docker pull $IMAGE:$VERSION"
|
|
echo " docker pull $IMAGE:latest"
|