Wir verwenden Jenkins Version 2.10 unter Windows Server 2012, um ein Projekt in einem privaten GitHub-Repository zu erstellen.Jenkins 'GitHub-Zugriff funktioniert plötzlich nicht mehr
Alles funktioniert seit Monaten einwandfrei, bis plötzlich die automatischen Jenkins-Builds aufhörten zu arbeiten, scheinbar aus heiterem Himmel.
Ich bin nicht derjenige, der dieses System installiert und eingerichtet hat, so dass ich nicht vollständig darüber informiert bin, wie es konfiguriert ist.
Wir verwenden Jenkins Git-Plugin, um Jenkins Zugang zu unserem privaten Repository zu geben. Das Git-Plugin wird mit der HTTPS-URL unseres privaten Repos und dem privaten SSH-Schlüssel konfiguriert, der direkt in Jenkins eingegeben wird. Der öffentliche Schlüssel ist auf GitHub korrekt eingestellt.
Hier ist die Git Polling Protokoll, um die Symptome zu zeigen:
Started on Jun 27, 2016 11:30:07 AM
Polling SCM changes on master
Using strategy: Default
[poll] Last Built Revision: Revision f8ec9ba340db92754ba2ee5b5e8ac8a6d719c5ec (origin/master)
> C:\Program Files\Git\bin\git.exe rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repositories
> C:\Program Files\Git\bin\git.exe config remote.origin.url https://github.com/XXX/YYY.git # timeout=10
Fetching upstream changes from https://github.com/XXX/YYY.git
> C:\Program Files\Git\bin\git.exe --version # timeout=10
using GIT_SSH to set credentials
using .gitcredentials to set credentials
> C:\Program Files\Git\bin\git.exe config --local credential.username EcosystemBuilder # timeout=10
> C:\Program Files\Git\bin\git.exe config --local credential.helper store --file=\"C:\Users\builder\AppData\Local\Temp\git1306578611748988291.credentials\" # timeout=10
> C:\Program Files\Git\bin\git.exe -c core.askpass=true fetch --tags --progress https://github.com/XXX/YYY.git +refs/heads/*:refs/remotes/origin/*
Dieser letzte Befehl hängt bis zum Timeout (nach 10 Minuten). Mit Blick auf Process Explorer:
Es ist wie git-credential-manager.exe
sieht mit einem einzigen get
Befehlszeilenargument hervorgebracht wird, und ist somit ein Fenster Aufspringen für einen Benutzernamen (die wir nicht sehen) fragen und ein Passwort.
aus dem Protokoll Git Polling oben, kann man die folgende Zeile sehen:
git.exe config --local credential.helper store --file=\"C:\Users\builder\AppData\Local\Temp\git1306578611748988291.credentials\"
Hier ist der gesamte Inhalt der Datei git1306578611748988291.credentials
:
https://github.com
während ich erwarten, dass es eine Art enthalten der Anmeldeinformationen, die es Git ermöglichen, auf unser privates Repo zuzugreifen.
Soweit ich weiß, hat sich weder in der Jenkins-Konfiguration noch auf der Maschine etwas geändert.
Jenkins Plugins Versionen:
- git 2.5.0
- git-Client 1.19.6
- git-Server 1.6
- Github 1.19.2
- Github-api 1.75
- ssh-credentials 1.12
An dieser Stelle würde ich mich über jede Eingabe freuen, die es erlauben würde, mein Verständnis des Problems zu verfeinern und/oder eine genauere Frage zu stellen.