Jenkins Git 集成 - 如何禁用 SSL 证书验证

问题描述 投票:0回答:7

我在从 Jenkins 创建作业时收到以下错误。如何在 Jenkins 中禁用证书验证?

从 Git Bash 我可以使用

git config --global http.sslVerify false
命令来禁用它,但不知道如何从 Jenkins 中使用它。

错误:

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
git jenkins jenkins-plugins
7个回答
28
投票

最好的选择是将自签名证书添加到您的证书存储中

获取服务器证书树这可以使用chrome来完成。

  1. 导航至服务器地址。单击挂锁图标并查看证书。将所有证书链导出为 Base64 编码文件 (PEM) 格式。

  2. 将证书添加到 GIT 信任配置文件的信任链中 在运行作业的计算机上的 Git bash 中运行以下命令:

“git config --list”。

找到

http.sslcainfo
配置,该配置显示证书信任文件所在的位置。

  1. 将所有证书复制到信任链文件中,包括
    "- -BEGIN- -"
    "- -END- -"
    。确保将 ROOT 证书链添加到证书文件中

这应该可以解决您的自签名证书和使用 GIT 的问题。

不推荐

另一种方法是远程连接到您的从站并运行以下命令:

git config --global http.sslVerify false

这将保存到全局配置中,该实例从不进行 SSL 验证,不推荐这样做,应该仅在测试时使用,然后再次禁用。应该按照上面的方法正确完成。


7
投票

补充一下,我已经坚持了几个小时,这是我发现的与 SSL 相关的内容

添加

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

作为 java jnlp 命令的参数,

并将 GIT_SSL_NO_VERIFY=true 设置为环境变量,因此从属端的启动从属命令现在看起来像(不确定某些参数是否重复)

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

您可能也需要同样的

-noCertificateCheck

尝试调用 jenkins-cli.jar 时

(至https://blog.csdn.net/froghui/article/details/39641221

因为每次 jenkins 从站启动 git 操作时,它都是一个干净的环境,由 jenkins git 插件处理


7
投票

创建 Freestyle 项目并添加“Windows Batch Command”并添加

git config http.sslVerify false 

git config --config http.sslVerify false

完成后,保存并构建作业。

现在你的 jenkin 配置为不进行 ssl 验证。成功构建后,您现在可以删除批处理命令构建步骤并为您的配置编辑相同的项目。


4
投票

您可以使用 JGit,并可以通过在 JENKINS_HOME 中创建一个 .gitconfig 文件来修复它,并使用以下几行:

[http]
sslVerify = false

需要重启服务。


3
投票

登录或切换到jenkins用户;要进行切换,请在终端上运行此命令:

su - jenkins

然后运行

git config --global http.sslVerify false

0
投票

我也有同样的问题。 首先,我使用 Git 使用 Shell 脚本,该脚本在克隆或拉取之前禁用了 SSL 验证。

后来我转而使用 JGit,它按预期工作(尽管不建议使用)。 然而,JGit 不支持某些功能,例如浅克隆。

事实上我不需要安装任何东西来使用 JGit


0
投票

在windows中设置环境变量,

GIT_HOME=path
直到你的git安装的bin文件夹,然后将其添加到路径变量中。

© www.soinside.com 2019 - 2024. All rights reserved.