You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为GitLab CI的renovate-runner提供自签名证书

解决自托管GitLab中Renovate自签名证书验证失败问题

问题场景

使用GitLab renovate-runner远程引入官方模板配置Renovate后,因自托管GitLab服务器使用自签名证书,运行流水线时出现证书验证错误,核心错误提示为UNABLE_TO_VERIFY_LEAF_SIGNATURE/unable to verify the first certificate。

原配置代码:

include:
    - remote: https://gitlab.com/renovate-bot/renovate-runner/-/raw/v20.1.0/templates/renovate.gitlab-ci.yml

关键错误日志片段:

DEBUG: GET https://gitlab.xxxxx.xx/api/v4/user = (code=UNABLE_TO_VERIFY_LEAF_SIGNATURE, statusCode=-1 retryCount=0, duration=45)
DEBUG: Gitlab API error
       "err": {
         "name": "RequestError",
         "code": "UNABLE_TO_VERIFY_LEAF_SIGNATURE",
         "message": "unable to verify the first certificate",
         // 省略其余栈追踪信息
       }

解决方法

方法1:通过CI变量注入证书(推荐)

  • 进入GitLab仓库的设置 > CI/CD > 变量页面
  • 添加名为RENOVATE_EXTRA_CA_CERTS的变量,将自签名证书的PEM格式文本直接粘贴到变量值中
  • 保存后,Renovate会自动读取该变量并将证书加入信任列表,无需修改现有CI配置

方法2:修改CI配置挂载证书

如果需要自定义证书存储路径,可在.gitlab-ci.yml中覆盖默认作业配置:

include:
  - remote: https://gitlab.com/renovate-bot/renovate-runner/-/raw/v20.1.0/templates/renovate.gitlab-ci.yml

renovate:
  variables:
    RENOVATE_EXTRA_CA_CERTS: "${CI_PROJECT_DIR}/certs/selfsigned.crt"
  before_script:
    - mkdir -p certs
    - echo "$SELF_SIGNED_CERT" > certs/selfsigned.crt

注意:需提前在CI变量中创建SELF_SIGNED_CERT变量,值为自签名证书的PEM格式文本

方法3:临时禁用证书验证(不推荐)

仅适用于测试场景,生产环境禁止使用:

  • 在CI变量中添加RENOVATE_TLS_SKIP_VERIFY=true
  • 该设置会关闭所有TLS证书验证,存在数据泄露或中间人攻击风险

内容的提问来源于stack exchange,提问作者burki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 04:35:15