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

首次创建Jenkins任务拉取Git远程仓库出现报错问题咨询

问题根因

从报错堆栈可定位两个核心故障点:

  1. 拉取Git仓库时未指定访问凭证
  2. 执行任务的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后保存

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命令更新系统信任证书
  • 第三步:将证书导入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 changeit
    
    出现确认提示时输入yes完成导入
  • 第四步:重启Jenkins agent服务,让所有配置生效

完成上述步骤后重新触发构建,即可正常拉取Git仓库代码完成构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 12:36:02