1.16. 在 Pipelines as Code 中使用私有存储库
Pipelines as Code 通过使用用户令牌在目标命名空间中创建或更新 secret 来支持私有存储库。Tekton Hub 中的 git-clone 任务使用用户令牌来克隆私有存储库。
每当作为代码在目标命名空间中运行时,它会使用 pac-gitauth-<REPOSITORY_OWNER>-<REPOSITORY_NAME>-<RANDOM_STRING> 格式创建或更新 secret。
您必须使用管道运行和管道定义中的 basic-auth 工作区来引用 secret,然后传递给 git-clone 任务。
...
workspace:
- name: basic-auth
secret:
secretName: "{{ git_auth_secret }}"
...
在管道中,您可以引用 git-clone 任务的 basic-auth 工作区来重复使用:
...
workspaces:
- name basic-auth
params:
- name: repo_url
- name: revision
...
tasks:
workspaces:
- name: basic-auth
workspace: basic-auth
...
tasks:
- name: git-clone-from-catalog
taskRef:
name: git-clone
params:
- name: url
value: $(params.repo_url)
- name: revision
value: $(params.revision)
...
- 1
git-clone任务获取basic-auth工作区,并使用它来克隆私有存储库。
根据 Pipelines as Code 配置映射中的要求,您可以通过将 secret-auto-create 标志设置为 false 或 true 值来修改此配置。