50bc6b64b4
Lo script ora pubblica un solo tag cerbero-mcp:2.0.0 + :latest + :sha-<short>. deploy-noclone.sh era specifico del workflow V1 multi-image. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
51 lines
1.6 KiB
Bash
Executable File
51 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Cerbero MCP — build & push immagine unica V2.0.0 al registry Gitea.
|
|
#
|
|
# Pre-requisiti:
|
|
# - docker
|
|
# - PAT Gitea con scope `write:package` in env $GITEA_PAT
|
|
# - $GITEA_USER (default: adriano)
|
|
#
|
|
# Uso:
|
|
# ./scripts/build-push.sh
|
|
# VERSION=2.0.1 ./scripts/build-push.sh
|
|
|
|
set -euo pipefail
|
|
|
|
REGISTRY="${REGISTRY:-git.tielogic.xyz}"
|
|
IMAGE_PREFIX="${IMAGE_PREFIX:-$REGISTRY/adriano/cerbero-mcp}"
|
|
GITEA_USER="${GITEA_USER:-adriano}"
|
|
VERSION="${VERSION:-2.0.0}"
|
|
SHA="$(git rev-parse --short HEAD)"
|
|
|
|
command -v docker >/dev/null || { echo "FATAL: docker non installato"; exit 1; }
|
|
|
|
# Login solo se non già autenticato sul registry.
|
|
if grep -q "\"$REGISTRY\"" ~/.docker/config.json 2>/dev/null; then
|
|
echo "=== docker già loggato su $REGISTRY (skip login) ==="
|
|
elif [ -n "${GITEA_PAT:-}" ]; then
|
|
echo "=== docker login $REGISTRY ==="
|
|
echo "$GITEA_PAT" | docker login "$REGISTRY" -u "$GITEA_USER" --password-stdin
|
|
else
|
|
echo "FATAL: non autenticato su $REGISTRY e GITEA_PAT non settata."
|
|
echo " Esegui una volta: docker login $REGISTRY -u $GITEA_USER"
|
|
exit 1
|
|
fi
|
|
|
|
TAG_VERSION="$IMAGE_PREFIX:$VERSION"
|
|
TAG_LATEST="$IMAGE_PREFIX:latest"
|
|
TAG_SHA="$IMAGE_PREFIX:sha-$SHA"
|
|
|
|
echo "=== build cerbero-mcp:$VERSION ==="
|
|
docker build -t "$TAG_VERSION" -t "$TAG_LATEST" -t "$TAG_SHA" .
|
|
|
|
echo "=== push ==="
|
|
for tag in "$TAG_VERSION" "$TAG_LATEST" "$TAG_SHA"; do
|
|
docker push "$tag"
|
|
echo " pushed: $tag"
|
|
done
|
|
|
|
echo
|
|
echo "=== Done (commit $SHA, version $VERSION) ==="
|
|
echo "VPS Watchtower farà pull entro WATCHTOWER_POLL_INTERVAL (default 5min)."
|