在 Tekton 任务中使用 GitLab Connector
在 Tekton 任务中使用 GitLab Connector 可以实现 GitLab 凭据的集中管理,并在 Tekton 任务执行过程中安全访问 GitLab 仓库。
目录
Tekton 任务的要求使用说明使用 GitConfig 进行 Git CLI 操作使用 GitLabConfig 进行 GitLab CLI 操作使用自定义 CLI 工具配合 GitLab Connector延伸阅读Tekton 任务的要求
并非所有 Tekton 任务都能使用 GitLab Connector。
GitLab Connector 通过 CSI Driver 注入临时凭据。它提供的配置会生成带有临时认证和 URL 重写设置的配置文件:
- gitconfig:为 Git CLI 操作提供
.gitconfig文件 - gitlabconfig:为 GitLab CLI(glab)操作提供
config.yml文件
生成的 .gitconfig 示例:
生成的 config.yml 示例:
因此,Tekton 任务必须满足以下要求才能使用 GitLab Connector:
对于 Git CLI 操作:
- 支持通过 Workspace 挂载
.gitconfig文件
对于 GitLab CLI(glab)操作:
- 支持通过 Workspace 挂载
config.yml文件 - 支持通过 Workspace 挂载
.gitconfig文件(使用 glab 克隆仓库或操作仓库目录时必需)
使用说明
使用 GitConfig 进行 Git CLI 操作
在 Tekton 任务中使用 Git CLI 时,挂载 gitconfig 配置:
参数说明:
name:Task 中定义的 Workspace 名称csi:driver:固定值connectors-csireadOnly:固定值truevolumeAttributes:CSI 卷属性connector.name:GitLab Connector 名称connector.namespace:(可选)GitLab Connector 所在命名空间,未指定则使用 TaskRun 所在命名空间configuration.names:配置名称(Git CLI 操作为gitconfig)
使用 GitLabConfig 进行 GitLab CLI 操作
在 Tekton 任务中使用 GitLab CLI(glab)时,需同时挂载 gitlabconfig 和 gitconfig:
Task 应当:
-
将配置文件复制到合适的位置:
.gitconfig→~/.gitconfigconfig.yml→~/.config/glab-cli/config.yml
-
设置正确的文件权限:
~/.gitconfig→644~/.config/glab-cli/config.yml→600
使用自定义 CLI 工具配合 GitLab Connector
使用自定义 CLI 工具(如 reviewdog)配合 GitLab Connector 时,可以使用内置的配置文件通过代理服务访问 GitLab API。
详情请参见:Connectors CSI Built-in Configurations
或参考 Using Reviewdog with GitLab Connector 获取更多信息。
延伸阅读
- Using GitLab CLI with GitLab Connector - 了解如何使用 glab 命令配合 Connector
- Using Reviewdog with GitLab Connector - 了解如何使用自定义 CLI 工具配合 Connector
- Connectors CSI Built-in Configurations - 了解内置配置文件
- Using CSI Volumes in Tekton - Tekton CSI Workspace 文档