Fix: Verbesserte Docker Login-Behandlung für HTTP-Registries
- Prüft HTTPS-Fehler und gibt Hinweise - Versucht Login erneut falls HTTPS-Probleme erkannt werden
This commit is contained in:
@@ -253,10 +253,26 @@ jobs:
|
||||
# Docker benötigt möglicherweise insecure-registry Konfiguration für HTTP
|
||||
echo " Versuche Docker Login..."
|
||||
|
||||
# Prüfe ob Registry in insecure-registry Liste ist (vom docker-dind Container aus)
|
||||
echo " Prüfe insecure-registry Konfiguration..."
|
||||
|
||||
# Führe Login aus und sammle Output UND Exit-Code
|
||||
set +e # Erlaube Fehler während Login-Versuch
|
||||
|
||||
# Versuche zuerst mit expliziter HTTP-URL (ohne Protokoll-Prefix)
|
||||
# Docker sollte automatisch HTTP verwenden wenn insecure-registry konfiguriert ist
|
||||
LOGIN_OUTPUT=$(echo "$REGISTRY_PASSWORD" | docker login "$TEST_URL" -u "$REGISTRY_USER" --password-stdin 2>&1)
|
||||
LOGIN_EXIT_CODE=$?
|
||||
|
||||
# Falls fehlgeschlagen und HTTPS-Fehler, versuche explizit HTTP
|
||||
if [ $LOGIN_EXIT_CODE -ne 0 ] && echo "$LOGIN_OUTPUT" | grep -qi "https\|tls\|certificate"; then
|
||||
echo " ⚠️ Docker versucht HTTPS, versuche explizit HTTP..."
|
||||
# Docker kann nicht direkt HTTP erzwingen, aber insecure-registry sollte das lösen
|
||||
# Versuche nochmal - sollte jetzt funktionieren wenn insecure-registry greift
|
||||
LOGIN_OUTPUT=$(echo "$REGISTRY_PASSWORD" | docker login "$TEST_URL" -u "$REGISTRY_USER" --password-stdin 2>&1)
|
||||
LOGIN_EXIT_CODE=$?
|
||||
fi
|
||||
|
||||
set -e # Zurück zu strict mode
|
||||
|
||||
echo " Login-Exit-Code: $LOGIN_EXIT_CODE"
|
||||
|
||||
Reference in New Issue
Block a user