【问题标题】:Jenkins/Kubernetes cannot clone from gitea repository with valid certJenkins/Kubernetes 无法使用有效证书从 gitea 存储库克隆
【发布时间】:2022-01-14 20:21:30
【问题描述】:

我将 Jenkins 与 Kubernetes 代理一起使用,尝试使用组织文件夹配置构建 Gitea 托管的 git 存储库。当我的构建触发时,我得到

stderr: fatal: unable to access 'https://<servername.com>/homelab/java-spring-microservice.git/': server certificate verification failed. CAfile: none 

存储库(也托管在 kubernetes 集群中)在其入口(由 cert-manager 管理)上有一个有效的 LetsEncrypt 证书。我可以从 git 命令行很好地克隆这个 repo(没有禁用 TLS。)

我的 Jenkinsfile 看起来像这样:

podTemplate(containers: [
  containerTemplate(
    name: 'maven',
    image: 'maven:3.8.4-openjdk-11',
    command: 'sleep',
    args: '30d'
  )
]) {
  node(POD_LABEL) {
    stage('Checkout') {
      checkout scm
      container('maven') {
        stage('Build') {
          sh '''
            mvn clean package
          '''
        }
      }
    }
  }
}

我环顾四周,看到了通过为 git 操作禁用 TLS 来解决此问题的方法,但这对我来说似乎是错误的,因为 TLS 似乎正在工作。我承认有点不确定当事情在 kubernetes 下时这一切究竟是如何工作的(我应该在哪里查看 CA 信任链是否正确等)

【问题讨论】:

    标签: ssl jenkins kubernetes gitea


    【解决方案1】:

    经过一番挖掘,我确定 jenkins/inbound-agent 的版本和 jenkins 本身的版本都是针对没有最新 CA 信任链的基础镜像构建的。我能够通过更新到最新的 Jenkins、更新 kubernetes 的 pod 模板以及更新 jenkins 的 kubernetes 插件来解决问题。

    【讨论】:

      猜你喜欢
      • 2021-02-22
      • 2020-01-14
      • 2019-07-09
      • 1970-01-01
      • 1970-01-01
      • 2012-10-03
      • 1970-01-01
      • 2016-05-18
      • 1970-01-01
      相关资源
      最近更新 更多