gpt4 book ai didi

git - 如何禁用 Jenkins checkout 和 git 插件 SSL 验证?

转载 作者:行者123 更新时间:2023-12-04 22:37:30 27 4
gpt4 key购买 nike

我在 K8s 节点中运行 Jenkins 代理。
我加 git config --global http.sslVerify false在 docker 文件中。我还添加了~/.gitconfig在 dockerfile 中。
我尝试使用 Jenkins checkoutgit在管道中获取代码,但我收到以下错误:

 stderr: fatal: unable to access 'https://gitlab-ops.prod.hccn/iac/gitops/vsphere_linux.git/': SSL certificate problem: unable to get local issuer certificate
但如果我将它们替换为 sh git clone命令,没关系。
所以这是我的问题:
  • git config --global http.sslVerify false仅适用于 git命令,不适用于 Jenkins checkoutgit , 正确的?因为git command 是 sh 命令,但 Jenkins checkout git是某种Java插件吗?
  • 是 Jenkins checkout另请引用 gitgitclient插入?
  • 如何禁用 Jenkins checkoutgit插件 SSL 验证?我在 jenkins git-client plugin 上找不到它们或 jenkins git pluginjenkins scm plugin

  • 补充:
  • 我跑git config --global http.sslVerify false在每个 k8s 节点上
  • Jenkins 版本是 2.277.4
  • Jenkins Git 插件版本为 4.7.1
  • Jenkins Git 客户端插件版本为 3.7.1

  • 补充2:
    我有 2个git项目 . Jenkinsfile在第一个中,在 Jenkins Job 中配置。默认 checkout 运行良好。在管道运行期间,它会尝试 pull Jenkins 代理上的另一个 git 项目 ,这就是问题出现的地方。

    最佳答案

    使用 Jenkins Git client plugin ,我会避免使用 JGit(设置在 this setting 中)
    https://cdn.jsdelivr.net/gh/jenkinsci/git-client-plugin@master/images/enable-jgit.png
    我会:

  • 选择 Git
  • 确保 git$PATH Jenkins Controller (以前称为“master”)

  • 然后全局设置 http.sslVerify将被强制执行。
    虽然,如 seen here , JGit 应该也能读取同样的设置。
    来自 the comments/ discussion , OP Bryan Chen补充说:

    I have two git project.
    The Jenkinsfile is in the first one, which configure in the Jenkins Job. The default checkout is working well.
    During the pipeline running, it will try to pull another git project on the Jenkins agent, this is where the problem arises.


    这意味着根本原因似乎在作为代理(在容器中)执行作业的容器中,而不是在主 Jenkins Controller 中。

    关于git - 如何禁用 Jenkins checkout 和 git 插件 SSL 验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69939390/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com