wake-up-neo.net

Jenkins Git integration - So deaktivieren Sie die Validierung von SSL-Zertifikaten

Ich erhalte den untenstehenden Fehler beim Erstellen eines Jobs von Jenkins. Wie deaktiviere ich die Zertifikatvalidierung in Jenkins?

In Git Bash kann ich den Befehl git config --global http.sslVerify false verwenden, um ihn zu deaktivieren, aber nicht sicher, wie er von Jenkins verwendet wird.

Error:

Failed to connect to repository : Command "C:\Program Files (x86)\Git\cmd\git.exe ls-remote -h url ofmy repository.git HEAD" returned status code 128:
stdout:
stderr: fatal: unable to access 'url of my git/': SSL certificate problem: self signed certificate in certificate chain
8
Sona Shetty

Am besten fügen Sie das selbstsignierte Zertifikat Ihrem Zertifikatspeicher hinzu

Server-Zertifikatsbaum erhalten Dies kann mit Chrome durchgeführt werden.

  1. Navigieren Sie zur Serveradresse. Klicken Sie auf das Schlosssymbol und sehen Sie sich die Zertifikate an. Exportieren Sie die gesamte Zertifikatskette als PEM-Format (Base64-codierte Dateien).

  2. Fügen Sie die Zertifikate der Vertrauenskette Ihrer GIT-Vertrauensstellungskonfigurationsdatei hinzu. 

"git config --list". 

finden Sie die http.sslcainfo-Konfiguration. Hier wird angezeigt, wo sich die Zertifikatvertrauensdatei befindet. 3. Kopieren Sie alle Zertifikate in die Trust-Chain-Datei, einschließlich "- -BEGIN- -" und "- -END- -". Stellen Sie sicher, dass Sie die ROOT-Zertifikatkette zur Zertifikatsdatei hinzufügen

Dies sollte Ihr Problem mit den selbstsignierten Zertifikaten und der Verwendung von GIT lösen.

NICHT EMPFOHLEN

Die andere Möglichkeit besteht darin, eine Remote-Verbindung zu Ihrem Slave herzustellen und Folgendes auszuführen:

git config --global http.sslVerify false

Dadurch wird in der globalen Konfiguration gespeichert, dass diese Instanz niemals eine SSL-Überprüfung durchführt. Dies wird NICHT empfohlen. Sie sollte nur beim Testen verwendet und anschließend wieder deaktiviert werden. Es sollte richtig wie oben gemacht werden.

14
JamesD

Sie können JGit verwenden und beheben, indem Sie eine .gitconfig -Datei in JENKINS_HOME mit diesen Zeilen erstellen:

[http]
sslVerify = false
2
Hemã Vidal

Erstellen Sie ein Freestyle-Projekt und fügen Sie "Windows-Stapelbefehl" hinzu und fügen Sie das hinzu

git config http.sslVerify false oder git config --config http.sslVerify false

Wenn dies erledigt ist, speichern Sie es und erstellen Sie den Job

Jetzt ist Ihr Jenkin so konfiguriert, dass keine SSL-Überprüfung erfolgt. Nach dem erfolgreichen Build können Sie jetzt den Batchbefehl-Buildschritt entfernen und dasselbe Projekt für Ihre Konfiguration bearbeiten.

1
ravi creed

ergänzend habe ich einige Stunden daran festgehalten, was ich für SSL gefunden habe

hinzufügen 

-Dorg.jenkinsci.plugins.getclient.GitClient.untrustedSSL=true 

als Parameter als Java-Jnlp-Befehl, 

und um GIT_SSL_NO_VERIFY = true als Umgebungsvariable zu setzen, sieht der Befehl zum Starten des Slaves auf der Slave-Seite jetzt so aus (nicht sicher, ob einige Parameter doppelt vorhanden sind)

export GIT_SSL_NO_VERIFY=true

Java -Dorg.jenkinsci.plugins.getclient.GitClient.untrustedSSL=true -jar slave.jar -jnlpUrl ${jenkins_url}/computer/${slave_name}/slave-agent.jnlp -secret ${secret} -noCertificateCheck

möglicherweise brauchen Sie dasselbe

-noCertificateCheck

beim Versuch, jenkins-cli.jar aufzurufen

(bis zu https://blog.csdn.net/froghui/article/details/39641221 )

da jedes Mal, wenn der Jenkins-Sklave eine Git-Operation initiierte, handelt es sich um eine saubere Umgebung, die von Jenkins-Git-Plugin gehandhabt wird

0
Jack Wu

Loggen Sie sich ein oder wechseln Sie zu jenkins Benutzer; Zum Umschalten führen Sie diesen Befehl am Terminal aus:

su - jenkins

Und dann renn

git config --global http.sslVerify false
0
Semih Kekül

Ich hatte das gleiche Problem. Zuerst verwendete ich Git mit einem Shell-Skript, das die SSL-Überprüfung vor dem Klonen oder Ziehen deaktiviert hat. 

Später habe ich stattdessen auf JGit umgestellt, was wie erwartet funktioniert (obwohl es nicht zu empfehlen ist). Mit JGit werden jedoch einige Funktionen wie flache Klone nicht unterstützt. 

Ich musste nichts installieren, um JGit zu verwenden

0
Clayn