3.7. 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 1
params:
- name: url
value: $(params.repo_url)
- name: revision
value: $(params.revision)
...
- 1
git-clone
タスクはbasic-auth
ワークスペースを取得し、これを使用してプライベートリポジトリーのクローンを作成します。
この設定を変更するには、TektonConfig
カスタムリソースの pipelinesAsCode.settings
仕様で、必要に応じて secret-auto-create
パラメーターを false
または true
の値に設定します。