jenkins
Installieren Sie Jenkins unter Windows mit SSH-Unterstützung für private GitHub-Repositorys
Suche…
GitHub-Pull-Anforderungen schlagen fehl
Jenkins-Installationen mit den Plug-Ins Git und SSH funktionieren nicht, wenn Sie versuchen, ein privates Repository aus GitHub zu ziehen.
PSExec.exe PS-Tool von Microsoft
Der erste Schritt, um dieses Problem zu beheben, war das Herunterladen von PSTools und das Extrahieren der Tools an einem geeigneten Ort auf dem Build-Server (z. B. c: \ Programs \ PSTools ist da, in dem ich meine extrahierte).
Generieren Sie einen neuen SSH-Schlüssel nur für Jenkins mit PSExec oder PSExec64
- Öffnen Sie zuerst die Eingabeaufforderung und "Als Administrator ausführen".
- Sobald die Eingabeaufforderung geöffnet ist, navigieren Sie zum PSTools-Verzeichnis.
- Von der Eingabeaufforderung aus müssen wir git-bash mit PSExec oder PSExec64 als Local Service ausführen, den Jenkins standardmäßig auf dem Build-Server ausführt.
- Wir verwenden die Option -i, um PSExec als interaktiv auszuführen, und die Option -s, um git-bash als lokalen Dienst auszuführen
- Folgen Sie den Anweisungen zum Erstellen eines ssh-Schlüssels in GitHub - Generieren eines neuen SSH-Schlüssels und Hinzufügen zum SSH-Agenten
- Wenn Sie sich auf einem 64-Bit-Windows-System befinden, kopieren Sie den .ssh-Ordner nach C: \ Windows \ SysWOW64 \ config \ systemprofile.ssh (dies war auf meinem 64-Bit-Windows-System nicht erforderlich, aber dort waren einige Anweisungen, die die .ssh-Dateien anzeigen sollte dort gespeichert werden, etwas, das zu beachten ist, wenn Sie immer noch Probleme haben).
- Fügen Sie den öffentlichen SSH-Schlüssel zu Ihren Github-Schlüsseln hinzu.
Your Commandline should look similar to this:
C:\Programs\PSTools> PSExec.exe -i -s C:\Programs\Git\git-bash
Erstellen Sie die Jenkins-Berechtigungsnachweise
Der schwierige Teil ist vorbei! Erstellen Sie nun einfach die Berechtigungsnachweise, die in Jenkins verwendet werden sollen. Verwenden Sie Ihren eigenen Benutzernamen und die zur Erstellung des SSH-Schlüssels verwendete Passphrase.
So sollte es jetzt aussehen (mit Ihrem eigenen privaten Github-Repo und Benutzernamen:
Führen Sie eine Test-Pull-Anforderung aus, um zu bestätigen, dass Sie fertig sind.
Speichern Sie eine Test-Pull-Anfrage und führen Sie sie aus, und Sie sollten keine weiteren Probleme mehr haben, wenn Jenkins SSH auf Ihrem Windows-Build-Computer verwendet.