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