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

如何将带自签名证书的私有Git仓库配置为Concourse资源

将带自签名证书的私有Git仓库用作Concourse资源

我之前刚好踩过这个坑,整理了一套简洁的实操步骤,亲测有效:

1. 导出自签名CA证书

首先得把你的Git仓库使用的自签名CA证书导出成PEM格式:

  • 如果是自建Git服务器(比如GitLab/Gitea),通常可以在服务器上找到CA证书文件,直接复制内容即可;
  • 也可以通过浏览器访问Git仓库页面,导出站点的根CA证书,再转换成PEM格式(注意要导出根证书,不是服务器的叶子证书)。
    最终你会得到一段类似这样的完整内容:
-----BEGIN CERTIFICATE-----
MIIDdzCCAl+gAwIBAgIUY...(省略中间证书内容)...==
-----END CERTIFICATE-----

2. 配置Concourse Git资源

在你的Pipeline配置里,给Git资源加上ca_certs参数,把证书内容直接填入。分两种常见场景:

场景1:SSH协议的Git仓库

如果用SSH密钥认证,资源配置示例如下:

resources:
- name: my-private-git-repo
  type: git
  source:
    uri: git@your-git-server.example.com:team/project.git
    private_key: |
      -----BEGIN RSA PRIVATE KEY-----
      # 你的SSH私钥内容(无密码的私钥更方便,有密码可额外添加passphrase参数)
      -----END RSA PRIVATE KEY-----
    ca_certs:
    - |
      -----BEGIN CERTIFICATE-----
      # 刚才导出的自签名CA证书完整内容
      -----END CERTIFICATE-----
    branch: main

场景2:HTTPS协议的Git仓库

如果用用户名/访问令牌认证,配置示例:

resources:
- name: my-private-git-repo
  type: git
  source:
    uri: https://your-git-server.example.com/team/project.git
    username: your-git-username
    password: your-access-token-or-password
    ca_certs:
    - |
      -----BEGIN CERTIFICATE-----
      # 自签名CA证书完整内容
      -----END CERTIFICATE-----
    branch: main

3. 可选:全局信任证书(多资源复用)

如果你的Concourse里有多个资源需要访问这个Git仓库,不想每个资源都重复写证书,可以把证书加到Worker节点的系统信任存储:

  • 在每个Concourse Worker节点上,把PEM格式的证书文件复制到/usr/local/share/ca-certificates/目录;
  • 运行命令update-ca-certificates更新系统证书信任列表;
  • 重启Concourse Worker服务,之后所有Git资源都会自动信任这个证书,无需再在资源里配置ca_certs。

4. 验证配置

写个简单的测试Pipeline验证是否能正常拉取代码:

jobs:
- name: test-git-resource
  plan:
  - get: my-private-git-repo
    trigger: true
  - task: check-repo-content
    config:
      platform: linux
      image_resource:
        type: docker-image
        source: {repository: alpine}
      inputs:
      - name: my-private-git-repo
      run:
        path: ls
        args: [my-private-git-repo]

用fly set-pipeline -p test-git -c test-pipeline.yml部署,然后触发任务,如果能成功列出仓库文件,就说明配置没问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:09:27