1.16. Pipelines as Code でのプライベートリポジトリーの使用
Pipelines as Code は、ユーザートークンを使用してターゲット namespace でシークレットを作成または更新することで、プライベートリポジトリーをサポートします。Tekton Hub からの git-clone タスクは、ユーザートークンを使用してプライベートリポジトリーのクローンを作成します。
コードとしてのパイプラインは、ターゲット namespace で新しいパイプライン実行を作成するたびに、pac-gitauth-<REPOSITORY_OWNER>-<REPOSITORY_NAME>-<RANDOM_STRING> 形式でシークレットを作成または更新します。
パイプライン実行およびパイプライン定義の basic-auth ワークスペースでシークレットを参照する必要があり、これは、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 config map で必要に応じて、secret-auto-create フラグを false または true の値に設定することで、この設定を変更できます。