首页 > 解决方案 > 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

这可能是解决方案,但我不确定我需要遵循哪些具体步骤来实现这一点

标签: gitjenkinsjenkins-pipelinebitbucketbitbucket-pipelines

解决方案


禁用 ssl 验证很少是一个好的解决方案,只会考虑用于测试(例如检查网络连接是否正常)

最好定义一个虚拟作业git config --list,并记下http.sslcainfoca-bundle.crt 的路径。

您可以在该捆绑包中添加来自 bitbucket.org 的证书(使用openssl s_client -showcerts -connect)。


推荐阅读