3.2. Tekton バンドルからのリモートパイプラインまたはタスクの指定
バンドルリゾルバーを使用して、Tekton バンドルからリモートパイプラインまたはタスクを指定できます。Tekton バンドルは、OpenShift コンテナーリポジトリーなどの任意の OCI リポジトリーから利用できる OCI イメージです。
3.2.1. バンドルリゾルバーの設定
バンドルリゾルバーを設定することで、Tekton バンドルからリソースを取得するためのデフォルトのサービスアカウント名とデフォルトの種類を変更できます。
手順
TektonConfig
カスタムリソースを編集するには、次のコマンドを入力します。$ oc edit TektonConfig config
TektonConfig
カスタムリソースで、pipeline.bundles-resolver-config
仕様を編集します。apiVersion: operator.tekton.dev/v1alpha1 kind: TektonConfig metadata: name: config spec: pipeline: bundles-resolver-config: default-service-account: pipelines 1 default-kind: task 2
3.2.2. バンドルリゾルバーを使用したリモートパイプラインまたはタスクの指定
パイプライン実行を作成するときに、Tekton バンドルからリモートパイプラインを指定できます。パイプラインまたはタスク実行を作成するときに、Tekton バンドルからリモートタスクを指定できます。
手順
Tekton バンドルからリモートパイプラインまたはタスクを指定するには、
pipelineRef
またはtaskRef
仕様で次の参照形式を使用します。# ... resolver: bundles params: - name: bundle value: <fully_qualified_image_name> - name: name value: <resource_name> - name: kind value: [pipeline|task] # ...
表3.2 バンドルリゾルバーでサポートされているパラメーター パラメーター 説明 値の例 serviceAccount
レジストリー認証情報を作成するときに使用するサービスアカウントの名前。
default
bundle
取得するイメージを指すバンドル URL。
gcr.io/tekton-releases/catalog/upstream/golang-build:0.1
name
バンドルから取り出すリソースの名前。
golang-build
kind
バンドルから取り出すリソースの種類。
task
パイプラインまたはタスクに追加のパラメーターが必要な場合は、パイプライン、パイプライン実行、またはタスク実行の仕様の
params
セクションでこれらのパラメーターの値を指定します。pipelineRef
またはtaskRef
仕様のparams
セクションには、リゾルバーがサポートするパラメーターのみを含める必要があります。
次のパイプライン実行の例は、Tekton バンドルからのリモートパイプラインを参照します。
apiVersion: tekton.dev/v1 kind: PipelineRun metadata: name: bundle-pipeline-reference-demo spec: pipelineRef: resolver: bundles params: - name: bundle value: registry.example.com:5000/simple/pipeline:latest - name: name value: hello-pipeline - name: kind value: pipeline params: - name: sample-pipeline-parameter value: test - name: username value: "pipelines"
次のパイプラインの例は、Tekton バンドルからのリモートタスクを参照します。
apiVersion: tekton.dev/v1 kind: Pipeline metadata: name: pipeline-with-bundle-task-reference-demo spec: tasks: - name: "bundle-task-demo" taskRef: resolver: bundles params: - name: bundle value: registry.example.com:5000/advanced/task:latest - name: name value: hello-world - name: kind value: task params: - name: sample-task-parameter value: test
次のタスク実行例では、Tekton バンドルのリモートタスクを参照しています。
apiVersion: tekton.dev/v1 kind: TaskRun metadata: name: bundle-task-reference-demo spec: taskRef: resolver: bundles params: - name: bundle value: registry.example.com:5000/simple/new_task:latest - name: name value: hello-world - name: kind value: task params: - name: sample-task-parameter value: test