git - Jenkins 管道脚本因错误“SSL 证书问题:无法获取本地颁发者证书”而阻止 git pull (Bitbucket)
问题描述
我的詹金斯管道脚本非常简单(到目前为止),见下文
node{
stage('Scm Checkout'){
git credentialsId: 'git-creds', url: 'https://xx@xx/xx.git'
}
}
我得到的错误是SSL certificate problem: unable to get local issuer certificate
- 我从 bitbucket repo 中提取。
有趣的是,它在以下行中失败了:
git.exe fetch --tags --force --progress -- https://xx@xx/xx.git +refs/heads/*:refs/remotes/origin/* # timeout=10
但是,如果我先运行以下命令,我可以从 git bash 运行它:
git config --global http.sslVerify false
我在其他地方看到了一个帖子,有人遇到了同样的问题,他的评论是:“在 gitconfig 文件中添加以下内容解决了这个问题”
{{[http] }}
sslVerify = false
这可能是解决方案,但我不确定我需要遵循哪些具体步骤来实现这一点
解决方案
禁用 ssl 验证很少是一个好的解决方案,只会考虑用于测试(例如检查网络连接是否正常)
最好定义一个虚拟作业git config --list
,并记下http.sslcainfo
ca-bundle.crt 的路径。
您可以在该捆绑包中添加来自 bitbucket.org 的证书(使用openssl s_client -showcerts -connect
)。
推荐阅读
- android - 为什么 SafetyNet Attestation 停止工作?
- spring - Spring Security 登录 Twitter 返回 403 Forbidden
- r - 根据 ggplot2 标准功能创建 ggplot2 函数并将参数指定为数据中的变量
- vsto - VSTO Outlook 如何在定期会议中的 AppointmentItems 链中获取上一个 AppointmentItem
- python - 带有数据框的列表的交叉连接(笛卡尔积)
- python - 禁用鼠标单击和更改指针图标
- linked-list - 为什么要拆分 Rust 的 std::collections::LinkedList O(n)?
- python - Python asyncio ensure_future
- php - 插件停用代码不起作用后删除页面
- javascript - $.jsonCall 导致错误,但接收到正确的数据