diff --git a/.gitea/workflows/production-deploy.yml b/.gitea/workflows/production-deploy.yml index c8add7e5..4fa4cbcd 100644 --- a/.gitea/workflows/production-deploy.yml +++ b/.gitea/workflows/production-deploy.yml @@ -220,33 +220,51 @@ jobs: echo "" echo "🔍 Teste Registry: $TEST_URL" - # Teste HTTPS - if curl -k -s -f -o /dev/null "https://$TEST_URL/v2/" 2>/dev/null; then - echo "✅ Registry erreichbar über HTTPS: https://$TEST_URL" - - # Versuche Login - if echo "$REGISTRY_PASSWORD" | docker login "$TEST_URL" -u "$REGISTRY_USER" --password-stdin 2>&1; then - echo "✅ Erfolgreich bei Registry angemeldet: $TEST_URL" - REGISTRY_URL="$TEST_URL" - LOGIN_SUCCESS=true - break - else - echo "⚠️ Login fehlgeschlagen für $TEST_URL, versuche nächste URL..." + # Wenn URL bereits Port enthält, teste direkt + if [[ "$TEST_URL" == *":5000" ]]; then + # Direkter HTTP-Zugriff (Port bereits in URL) + if curl -s -f -o /dev/null "http://$TEST_URL/v2/" 2>/dev/null; then + echo "✅ Registry erreichbar über HTTP: http://$TEST_URL" + + # 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 + echo "✅ Erfolgreich bei Registry angemeldet: $TEST_URL" + REGISTRY_URL="$TEST_URL" + LOGIN_SUCCESS=true + break + else + echo "⚠️ Login fehlgeschlagen für $TEST_URL, versuche nächste URL..." + fi + fi + else + # Teste HTTPS zuerst + if curl -k -s -f -o /dev/null "https://$TEST_URL/v2/" 2>/dev/null; then + echo "✅ Registry erreichbar über HTTPS: https://$TEST_URL" + + # Versuche Login + if echo "$REGISTRY_PASSWORD" | docker login "$TEST_URL" -u "$REGISTRY_USER" --password-stdin 2>&1; then + echo "✅ Erfolgreich bei Registry angemeldet: $TEST_URL" + REGISTRY_URL="$TEST_URL" + LOGIN_SUCCESS=true + break + else + echo "⚠️ Login fehlgeschlagen für $TEST_URL, versuche HTTP..." + fi fi - fi - - # Teste HTTP (falls HTTPS nicht funktioniert) - if curl -s -f -o /dev/null "http://$TEST_URL:5000/v2/" 2>/dev/null; then - echo "✅ Registry erreichbar über HTTP: http://$TEST_URL:5000" - # Versuche Login mit HTTP - if echo "$REGISTRY_PASSWORD" | docker login "$TEST_URL:5000" -u "$REGISTRY_USER" --password-stdin 2>&1; then - echo "✅ Erfolgreich bei Registry angemeldet: $TEST_URL:5000" - REGISTRY_URL="$TEST_URL:5000" - LOGIN_SUCCESS=true - break - else - echo "⚠️ Login fehlgeschlagen für $TEST_URL:5000, versuche nächste URL..." + # Teste HTTP (falls HTTPS nicht funktioniert) + if curl -s -f -o /dev/null "http://$TEST_URL:5000/v2/" 2>/dev/null; then + echo "✅ Registry erreichbar über HTTP: http://$TEST_URL:5000" + + # Versuche Login mit HTTP + if echo "$REGISTRY_PASSWORD" | docker login "$TEST_URL:5000" -u "$REGISTRY_USER" --password-stdin 2>&1; then + echo "✅ Erfolgreich bei Registry angemeldet: $TEST_URL:5000" + REGISTRY_URL="$TEST_URL:5000" + LOGIN_SUCCESS=true + break + else + echo "⚠️ Login fehlgeschlagen für $TEST_URL:5000, versuche nächste URL..." + fi fi fi done