在 Tekton 任务中使用 Git Connector

在 Tekton 任务中使用 Git Connector 可以实现工具集成信息的集中管理,并在 Tekton 任务执行期间安全访问 Git 仓库。 目前,Git Connector 仅支持 BasicAuth 认证方式,不支持 SSH 认证。

目录

Tekton 任务的要求

并非所有 Tekton 任务都能使用 Git Connector。

Git Connector 本质上是通过 CSI Driver 注入临时的 Git 凭据。它提供了一个名为 gitconfig 的配置,用于生成包含临时认证和 URL 重写设置的 .gitconfig 文件。 例如:

[http]
    extraHeader = Authorization: Basic OmV5Smhixxxxxxxxx==
[url "http://c-git-connector.git-connector-demo.svc]
    insteadOf = https://github.com

因此,Tekton 任务必须满足以下要求才能使用 Git Connector:

支持通过 Workspace 挂载 .gitconfig 文件,且该 Workspace 必须支持仅提供 .gitconfig 文件

使用说明

确认您的 Tekton 任务可以使用 Git Connector 后,可以在 TaskRun 的 YAML 文件中添加 Git Connector 配置:

例如:

apiVersion: tekton.dev/v1
kind: TaskRun
metadata:
  name: git-clone-demo
spec:
  # .  . .
  workspaces:
  - name: basic-auth
    csi:
      driver: connectors-csi
      readOnly: true
      volumeAttributes:
        connector.name: github
        connector.namespace: ""
        configuration.names: "gitconfig"

参数说明:

  • name:Task 中定义的 Workspace 名称
  • csi
    • driver:固定值 connectors-csi
    • readOnly:固定值 true
    • volumeAttributes:CSI 卷属性
      • connector.name:Git Connector 的名称
      • connector.namespace:Git Connector 所在的命名空间,若不指定则使用 TaskRun 所在命名空间
      • configuration.names:配置名称,固定为 gitconfig,将在 $(workspaces.basic-auth.path) 目录下生成 .gitconfig 文件

更多信息请参考 Connectors CSI Configuration

延伸阅读