Files
fixfin/build-and-push-gitea.sh
T
2026-08-18 06:56:00 +02:00

50 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -Eeuo pipefail
ROOT="$(cd "$(dirname "$0")" && pwd)"
REGISTRY="${GITEA_REGISTRY:-${1:-}}"
IMAGE_PATH="${GITEA_IMAGE_PATH:-${2:-}}"
TAG="${IMAGE_TAG:-${3:-latest}}"
PLATFORM="${PLATFORM:-linux/amd64}"
if [[ -z "$REGISTRY" || -z "$IMAGE_PATH" ]]; then
cat <<USAGE
Verwendung:
$0 <registry> <owner/image> [tag]
Beispiel:
$0 git.example.de meinuser/fixfin latest
Alternativ per Umgebungsvariablen:
GITEA_REGISTRY=git.example.de \\
GITEA_IMAGE_PATH=meinuser/fixfin \\
IMAGE_TAG=latest \\
$0
Vor dem ersten Push anmelden:
sudo docker login <registry>
USAGE
exit 1
fi
command -v docker >/dev/null 2>&1 || { echo "Docker fehlt."; exit 1; }
docker buildx version >/dev/null 2>&1 || { echo "Docker Buildx fehlt."; exit 1; }
FULL_IMAGE="${REGISTRY}/${IMAGE_PATH}:${TAG}"
echo ">>> Build + Push"
echo "Image: ${FULL_IMAGE}"
echo "Platform: ${PLATFORM}"
echo
cd "$ROOT"
docker buildx build \
--platform "$PLATFORM" \
--tag "$FULL_IMAGE" \
--push \
.
echo
echo "Fertig: ${FULL_IMAGE}"