Gitlab流水线部署遇SSL证书错误:自签名证书链问题咨询
GitLab流水线SSL证书错误排查与解决
问题定位
这个错误不是你的本地Git用户导致的——你能正常推送代码到GitLab,说明本地Git的SSL证书配置没问题。问题出在GitLab流水线的执行环境(也就是GitLab Runner)上:Runner在拉取/访问Git仓库时,无法验证证书链里的自签名证书。
解决方法
情况1:使用自托管的GitLab Runner
- 方法1:添加信任自签名证书(推荐)
- 获取自签名的根证书文件(比如命名为
ca.crt) - 将证书放到Runner主机的系统证书目录:
- Ubuntu/Debian:
/usr/local/share/ca-certificates/ - CentOS/RHEL:
/etc/pki/ca-trust/source/anchors/
- Ubuntu/Debian:
- 更新系统证书缓存:
- Ubuntu/Debian:执行
sudo update-ca-certificates - CentOS/RHEL:执行
sudo update-ca-trust extract
- Ubuntu/Debian:执行
- 重启GitLab Runner服务:
sudo gitlab-runner restart
- 获取自签名的根证书文件(比如命名为
- 方法2:临时禁用SSL校验(仅测试用,不推荐生产)
在.gitlab-ci.yml里给Git操作添加参数或环境变量:- 方式A:设置环境变量
variables: GIT_SSL_NO_VERIFY: "true" - 方式B:在Git命令里直接加参数
git clone -c http.sslVerify=false https://gitlab.com/projectut/project.git/
- 方式A:设置环境变量
情况2:使用GitLab官方托管的Runner
- 检查项目CI/CD配置里的仓库地址,确认是否被修改为带自签名证书的内部镜像地址,若有则修正为官方地址
- 如果是公司网络有代理拦截并插入自签名证书,需要联系运维团队,在流水线执行环境中添加代理证书的信任配置
内容的提问来源于stack exchange,提问作者Eduardo perez
相关产品推荐
相关产品推荐

