38 lines
No EOL
985 B
Bash
Executable file
38 lines
No EOL
985 B
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# === Konfiguration ===
|
|
REGISTRY_HOST="git.super-nexus.de"
|
|
OWNER="bilal"
|
|
REPO="homelab-dashboard"
|
|
IMAGE="${REGISTRY_HOST}/${OWNER}/${REPO}"
|
|
|
|
# Version automatisch aus git ableiten
|
|
GIT_TAG="$(git describe --tags --exact-match 2>/dev/null || true)"
|
|
GIT_SHA="$(git rev-parse --short HEAD)"
|
|
VERSION="${GIT_TAG:-sha-${GIT_SHA}}"
|
|
|
|
# Repo-URL für OCI-Label
|
|
REPO_URL="https://${REGISTRY_HOST}/${OWNER}/${REPO}"
|
|
|
|
echo ">> Baue Image: ${IMAGE}:${VERSION}"
|
|
|
|
docker build \
|
|
--label "org.opencontainers.image.source=${REPO_URL}" \
|
|
--label "org.opencontainers.image.revision=${GIT_SHA}" \
|
|
--label "org.opencontainers.image.version=${VERSION}" \
|
|
-t "${IMAGE}:${VERSION}" \
|
|
-t "${IMAGE}:latest" \
|
|
.
|
|
|
|
echo ">> Push ${IMAGE}:${VERSION}"
|
|
docker push "${IMAGE}:${VERSION}"
|
|
|
|
echo ">> Push ${IMAGE}:latest"
|
|
docker push "${IMAGE}:latest"
|
|
|
|
echo ""
|
|
echo "Fertig."
|
|
echo "Version: ${VERSION}"
|
|
echo "Image: ${IMAGE}:${VERSION}"
|
|
echo "Latest: ${IMAGE}:latest" |