我从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
7条答案
按热度按时间iugsix8n1#
最佳选择是将自签名证书添加到证书存储区
获取服务器证书树这可以使用chrome来完成。
1.导航到服务器地址。单击挂锁图标并查看证书。将所有证书链导出为base64编码文件(PEM)格式。
1.将证书添加到GIT信任配置文件的信任链中在运行作业的机器上的Git bash中运行以下命令:
git config --list。
查找
http.sslcainfo
配置,这显示了证书信任文件的位置。1.将所有证书复制到信任链文件中,包括
"- -BEGIN- -"
和"- -END- -"
。确保将ROOT证书链添加到证书文件中这应该可以解决自签名证书和使用GIT的问题。
不推荐
另一种方法是远程进入你的slave并运行以下命令:
git配置--全局http. ssl验证是否为假
这将保存到全局配置中,该示例从不进行SSL验证,不建议这样做,仅应在测试时使用,然后再次禁用。应该如上所述正确完成。
fae0ux8s2#
创建自由式项目并添加“Windows批处理命令”,然后添加
git config http.sslVerify false或git config --config http.sslVerify false
完成此操作后,保存它并构建作业
现在你的jenkin被配置为不做ssl验证。在成功构建之后,现在你可以删除批处理命令构建步骤,并为你的配置编辑相同的项目。
eulz3vhy3#
作为补充,我已经坚持了几个小时,这是我发现的SSL相关
加
作为Java JNLP命令的参数,
并将GIT_SSL_NO_VERIFY=true设置为环境变量,因此slave端的start slave命令现在看起来像(不确定某些参数是否重复)
你可能也需要
在尝试调用jenkins-cli.jar时
(up至https://blog.csdn.net/froghui/article/details/39641221)
由于每次jenkins slave初始化一个git操作,它都是一个干净的env,由jenkins git插件处理
oxcyiej74#
登录或切换到Jenkins用户;要切换,请在终端上运行以下命令:
然后跑
8ulbf1ek5#
您可以使用JGit,并通过在JENKINS_HOME中创建一个**.gitconfig**文件来修复它,其中包含以下行:
需要重新启动服务。
p8h8hvxi6#
我也遇到了同样的问题。首先,我使用Git,使用一个Shell脚本,在克隆或拉取之前禁用了SSL验证。
后来我改用了JGit,它的工作原理和预期的一样(虽然不推荐使用)。但是JGit不支持一些功能,比如浅克隆。
我不需要安装任何东西来使用JGit
eagi6jfj7#
在windows中设置环境变量
GIT_HOME=path
直到git安装的bin文件夹,然后将其添加到路径变量。