3.2. 从 Tekton 捆绑包指定远程管道、任务或步骤操作
您可以使用捆绑包解析器指定 Tekton 捆绑包中的远程管道、任务或 StepAction
定义。Tekton 捆绑包是任何 OCI 存储库(如 OpenShift 容器存储库)提供的 OCI 镜像。
3.2.1. 配置捆绑包解析器
您可以通过配置捆绑包解析器来更改默认服务帐户名称和从 Tekton 捆绑包中拉取资源的默认 kind。
流程
要编辑
TektonConfig
自定义资源,请输入以下命令:$ oc edit TektonConfig config
在
TektonConfig
自定义资源中,编辑pipeline.bundles-resolver-config
spec: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 捆绑包引用远程 StepAction
定义。
流程
要从 Tekton 捆绑包指定远程管道、任务或
StepAction
定义,请在pipelineRef
,taskRef
, 或step.ref
spec 中使用以下引用格式:# ... resolver: bundles params: - name: bundle value: <fully_qualified_image_name> - name: name value: <resource_name> - name: kind value: [pipeline|task] # ...
表 3.2. 捆绑包解析器支持的参数 参数 描述 示例值 serviceAccount
构建 registry 凭据时要使用的服务帐户名称。
default
bundle
指向镜像要获取的捆绑包 URL。
gcr.io/tekton-releases/catalog/upstream/golang-build:0.1
名称
要从捆绑包中拉取的资源名称。
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
以下示例任务包含从 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