首次创建Jenkins任务拉取Git远程仓库出现报错问题咨询
问题根因
从报错堆栈可定位两个核心故障点:
- 拉取Git仓库时未指定访问凭证
- 执行任务的Jenkins agent节点(agent_314)不信任私有Gitlab实例的SSL证书
排查与解决步骤
1. 配置Git访问凭证到Jenkins
- 进入Jenkins管理后台 → 「Manage Jenkins」 → 「Credentials」 → 「System」 → 「Global credentials (unrestricted)」
- 点击「Add Credentials」,选择凭证类型:
- 若用HTTPS访问:选「Username with password」,填写Gitlab账号密码(推荐用Gitlab个人访问令牌PAT,密码字段填PAT值,安全性更高),设置唯一凭证ID如
gitlab_creds后保存 - 若用SSH访问:选「SSH Username with private key」,上传绑定Gitlab账号的SSH私钥,设置唯一凭证ID后保存
- 若用HTTPS访问:选「Username with password」,填写Gitlab账号密码(推荐用Gitlab个人访问令牌PAT,密码字段填PAT值,安全性更高),设置唯一凭证ID如
2. 修正Jenkinsfile拉取代码的配置
在git拉取步骤中指定你刚才配置的凭证ID,修改后的对应阶段代码如下:
stage("Build") { steps { echo "Building..." git url: 'https://gitlab/engineering/automation/create_pass_criteria.git', credentialsId: 'gitlab_creds' sh './mvnw clean compile' } }
如果是测试环境需要快速验证,可临时关闭SSL校验,在git拉取前加一行配置:
sh 'git config --global http.sslVerify false'
注意:该配置仅用于临时验证,生产环境禁止使用,会存在安全风险
3. 生产环境永久解决SSL证书不信任问题
- 第一步:导出Gitlab站点的根证书、中级证书,保存为
.crt格式文件 - 第二步:登录标签为
agent_314的Jenkins节点,将证书加入系统信任库:- CentOS/RHEL系列:将证书放到
/etc/pki/ca-trust/source/anchors/目录,执行update-ca-trust命令更新系统信任证书 - Debian/Ubuntu系列:将证书放到
/usr/local/share/ca-certificates/目录,执行update-ca-certificates命令更新系统信任证书
- CentOS/RHEL系列:将证书放到
- 第三步:将证书导入Jenkins运行所用JDK的信任证书库:
执行如下命令(替换为你实际的证书路径、JDK路径,默认JDK证书库密码为changeit,如有修改请替换):
出现确认提示时输入keytool -import -alias gitlab-custom-cert -file /path/to/your/gitlab.crt -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeityes完成导入 - 第四步:重启Jenkins agent服务,让所有配置生效
完成上述步骤后重新触发构建,即可正常拉取Git仓库代码完成构建。
内容的提问来源于stack exchange,提问作者Orly Orly
相关产品推荐
相关产品推荐

