2013-06-14 4 views
7

Ich habe einen Jenkins Job, der aus einem BitBucket Repo zieht, der gut funktionierte und immer noch ist. Allerdings habe ich ein Submodul hinzugefügt und Jenkins erstickt daran. Hier ist ein Clip aus der Jenkins Konsolenausgabe:Warum erhält Jenkins den Fehler "Authentifizierung fehlgeschlagen" für die Aktualisierung des Git-Submoduls?

FATAL: Befehl "C: \ Program Files (x86) \ Git \ cmd \ git.exe Submodul update" zurückgegebenen Statuscode 1: stdout: Klonierung in ' Submodule/my.repo‘...

stderr: fatal: Authentifizierung fehlgeschlagen

ich einen sSH-Schlüssel bin mit dem ich für die Haupt Repo in BitBucket meinen Einsatz Schlüssel hinzugefügt. Und das hat immer funktioniert. Ich habe den Implementierungsschlüsseln meines Submodul-Repos denselben Schlüssel hinzugefügt. Kann mir jemand sagen, warum die Authentifizierung fehlschlägt?

+0

Ich habe genau das gleiche Problem mit GitHub, Build funktionierte gut, aber jetzt schlägt nach dem Hinzufügen eines Submoduls. Ich bekomme FATAL: Command "/ usr/bin/git Submodul Update "zurückgegeben Statuscode 1: stdout: stderr: fatal: Authentifizierung fehlgeschlagen –

+0

@PatrickClancey, verdient das eine Frage nach oben Abstimmung? :) – Sean

+1

Haben Sie das gleiche Protokoll für das Submodul angegeben? Klonen Sie nicht Ihren Repo mit https: // aber mit git: // für das Submodul? – riezebosch

Antwort

0

Versuchen Sie, den Ordner /.shh in Ihr Jenkins-Ausgangsverzeichnis zu kopieren.

0

Ich konfrontiert dieses Problem mit Jenkins Slave (als Windows-Dienst ausgeführt). Ich löste es durch den Einsatz von Schlüsseln Jenkins SSH im .ssh Verzeichnis des SYSTEM Benutzers:

C:\Windows\SysWOW64\config\systemprofile\.ssh\ 

SYSTEM Home-Verzeichnis ist je nach Betriebssystem-Version und Setup. Um es zu identifizieren, einfach Echo env. var. %USERPROFILE%

1

Versionen des Jenkins git Plugin vor 3.0.0 nicht unterstützen Submodul-Authentifizierung. Die Submodulauthentifizierung mit denselben Anmeldeinformationen und demselben Protokoll wie das übergeordnete Repository wird jetzt mit dem Jenkins Git-Plugin unterstützt. Support wurde in der Version vom 10. September 2016 von Jenkins git plugin 3.0.0 hinzugefügt.

Der Submodulkonfigurationsbereich der Jobdefinitionsseite ("Zusätzliche Verhaltensweisen"> "Erweiterte Submodulverhalten") "enthält jetzt ein Kontrollkästchen" Anmeldeinformationen vom Standard-Remote des übergeordneten Repositorys verwenden ". Aktivieren Sie dieses Kontrollkästchen und die Anmeldeinformationen

Beachten Sie, dass die Repository-Klonierungsprotokolle für das übergeordnete Repository und die Submodule identisch sein müssen (ssh oder https), andernfalls können die übergeordneten Anmeldeinformationen nicht mit dem Submodulrepository verwendet werden .

Verwandte Themen