Fix: Verbesserter Registry-Login mit detailliertem Debugging

- Bessere Host-IP-Erkennung mit Fallbacks
- Detaillierte HTTP-Status-Code-Ausgabe
- 401 wird als erfolgreiche Erreichbarkeit gewertet (Auth erforderlich)
- Debug-Output für Login-Versuche
- DEPLOYMENT_HOST:5000 als erste Option
This commit is contained in:
2025-10-31 18:01:23 +01:00
parent 56f9376430
commit e06a6942ff

View File

@@ -224,21 +224,32 @@ jobs:
echo "" echo ""
echo "🔍 Teste Registry: $TEST_URL" echo "🔍 Teste Registry: $TEST_URL"
# Wenn URL bereits Port enthält, teste direkt # Wenn URL bereits Port enthält, teste direkt (HTTP)
if [[ "$TEST_URL" == *":5000" ]]; then if [[ "$TEST_URL" == *":5000" ]]; then
# Direkter HTTP-Zugriff (Port bereits in URL) # Direkter HTTP-Zugriff (Port bereits in URL)
if curl -s -f -o /dev/null "http://$TEST_URL/v2/" 2>/dev/null; then echo " Versuche HTTP-Zugriff auf http://$TEST_URL/v2/"
echo "✅ Registry erreichbar über HTTP: http://$TEST_URL" HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" "http://$TEST_URL/v2/" 2>&1 || echo "000")
echo " HTTP-Status: $HTTP_CODE"
# 401 bedeutet Registry ist erreichbar, aber Auth erforderlich (das ist gut!)
if [ "$HTTP_CODE" = "401" ] || [ "$HTTP_CODE" = "200" ]; then
echo "✅ Registry erreichbar über HTTP: http://$TEST_URL (Status: $HTTP_CODE)"
# Versuche Login mit HTTP (ohne :5000 nochmal hinzuzufügen) # Versuche Login mit HTTP (ohne :5000 nochmal hinzuzufügen)
if echo "$REGISTRY_PASSWORD" | docker login "$TEST_URL" -u "$REGISTRY_USER" --password-stdin 2>&1; then LOGIN_OUTPUT=$(echo "$REGISTRY_PASSWORD" | docker login "$TEST_URL" -u "$REGISTRY_USER" --password-stdin 2>&1)
LOGIN_EXIT_CODE=$?
echo " Login-Output: $LOGIN_OUTPUT"
if [ $LOGIN_EXIT_CODE -eq 0 ]; then
echo "✅ Erfolgreich bei Registry angemeldet: $TEST_URL" echo "✅ Erfolgreich bei Registry angemeldet: $TEST_URL"
REGISTRY_URL="$TEST_URL" REGISTRY_URL="$TEST_URL"
LOGIN_SUCCESS=true LOGIN_SUCCESS=true
break break
else else
echo "⚠️ Login fehlgeschlagen für $TEST_URL, versuche nächste URL..." echo "⚠️ Login fehlgeschlagen für $TEST_URL (Exit Code: $LOGIN_EXIT_CODE), versuche nächste URL..."
fi fi
else
echo "⚠️ Registry nicht erreichbar: http://$TEST_URL (Status: $HTTP_CODE)"
fi fi
else else
# Teste HTTPS zuerst # Teste HTTPS zuerst