Wie verbinde ich Jenkins mit einem Gitlab, für das ein Client-SSL erforderlich ist?

Wie verbinde ich Jenkins mit einem Gitlab, für das ein Client-SSL erforderlich ist?

Ich muss mit einem selbstgehosteten Gitlab-Repository arbeiten, das durch eine bidirektionale SSL-Authentifizierung geschützt ist. Um eine Verbindung neben den eigenen Anmeldeinformationen von Git herzustellen, sollte die Anfrage an Git mit einem Client-SSL erfolgen.

Aus Sicht des Browsers. Wenn das PFX-Zertifikat importiert ist, können wir mit Google Chrome und Mozilla Firefox surfen.

Der Git-Client auf der Jenkins-Box wurde mit dem SSL-Client über die globale Git-Konfiguration http.sslCert konfiguriert. Dies wurde getestet und funktioniert über die Befehlszeile. Ich verwendejenkins version 2.141

Ich habe auch eine neue Art von Anmeldeinformationen zu Git hinzugefügt, indem ich ein P12-Zertifikat hochgeladen habe, wie unten gezeigt Jenkins-Anmeldeinformationenseite

Aber aus irgendeinem Grund kann Jenkins immer noch keine Möglichkeit anzeigen, dieses Client-Zertifikat auszuwählen, wenn ich auf die Schaltfläche „Hinzufügen“ klicke. Also habe ich ein neues mit einem P12-Zertifikat mit und ohne Passwort hinzugefügt und beide liefern dieselben Ergebnisse. Mit Passwort habe ich das Export-Passwort in das Passwortfeld eingegeben

p12-Zertifikat mit Passwort

P12-Zertifikat ohne Passwort verwenden

p12-Zertifikat ohne Passwort

Das Ergebnis beim Testen der Verbindung ist für beide dasselbe: Testverbindung

hudson.plugins.git.GitException: Command "git fetch --tags --progress 
origin +refs/heads/master:refs/remotes/origin/master --prune" returned 
status code 128:
stdout: 
stderr: fatal: unable to access 
'https://git.theurl.git/': The 
requested URL returned error: 400

at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2016)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1735)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:72)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:420)
at jenkins.plugins.git.GitSCMFileSystem$BuilderImpl.build(GitSCMFileSystem.java:351)
at jenkins.scm.api.SCMFileSystem.of(SCMFileSystem.java:196)
at jenkins.scm.api.SCMFileSystem.of(SCMFileSystem.java:172)
at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:108)
at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:67)
at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:303)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
Finished: FAILURE

Ich habe wirklich keine Optionen mehr. Ich habe einen ähnlichen Beitrag gefunden aufPaketüberflussaber das hat nicht wirklich geholfen. Wie kann ich diesen Blocker umgehen? Hat das jemand vor kurzem gemacht?

verwandte Informationen