Fix: HOST_IP-Erkennung verbessert

- Korrekte HOST_IP-Erkennung mit Fallbacks
- Verhindert leere HOST_IP-Variable
- DEPLOYMENT_HOST:5000 als erste Option
This commit is contained in:
2025-10-31 18:03:11 +01:00
parent e06a6942ff
commit da6afdf280

View File

@@ -207,12 +207,26 @@ jobs:
echo "📝 Benutzer: $REGISTRY_USER"
echo "🌐 Deployment Host: $DEPLOYMENT_HOST"
# Finde das Gateway des Docker-Netzwerks (Host-IP vom Container aus)
# Job-Container laufen in docker-dind, das wiederum in einem Container läuft
# Daher müssen wir den Host vom docker-dind Container aus erreichen
HOST_IP=$(ip route | grep default | awk '{print $3}' 2>/dev/null | head -1)
if [ -z "$HOST_IP" ]; then
# Fallback: Versuche Host über bekannte Docker-Netzwerk-Gateways
HOST_IP=$(getent hosts host.docker.internal | awk '{print $1}' 2>/dev/null || echo "")
if [ -z "$HOST_IP" ]; then
HOST_IP="$DEPLOYMENT_HOST"
fi
fi
echo "🔍 Gefundene Host-IP: ${HOST_IP:-nicht gefunden}"
# Teste verschiedene Registry-URLs
REGISTRY_URLS=(
"registry:5000" # Container-Name (funktioniert wenn docker-dind Zugriff auf traefik-public hat)
"$DEPLOYMENT_HOST:5000" # Direkter Zugriff auf Host Port 5000 (HTTP)
"$DEPLOYMENT_HOST:5000" # Direkter Zugriff auf Host Port 5000 (HTTP) - sollte funktionieren
"host.docker.internal:5000" # Docker Host (Mac/Windows)
"$HOST_IP:5000" # Gateway-IP (Linux)
"${HOST_IP}:5000" # Gateway-IP (Linux)
"registry:5000" # Container-Name (funktioniert wenn docker-dind Zugriff auf traefik-public hat)
"$DEPLOYMENT_HOST" # Host IP (HTTPS via Traefik, falls erreichbar)
"$REGISTRY_URL" # Externe Domain
"registry.michaelschiemer.de" # Alternative Domain