搜索

3.2. 从 Tekton 捆绑包指定远程管道或任务

download PDF

您可以使用捆绑包解析器指定 Tekton 捆绑包中的远程管道或任务。Tekton 捆绑包是任何 OCI 存储库(如 OpenShift 容器存储库)提供的 OCI 镜像。

3.2.1. 配置捆绑包解析器

您可以通过配置捆绑包解析器来更改默认服务帐户名称和从 Tekton 捆绑包中拉取资源的默认 kind。

流程

  1. 要编辑 TektonConfig 自定义资源,请输入以下命令:

    $ oc edit TektonConfig config
  2. 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
    1
    用于捆绑包请求的默认服务帐户名称。
    2
    捆绑包镜像中的默认层类型。

3.2.2. 使用捆绑包解析器指定远程管道或任务

在创建管道运行时,您可以从 Tekton 捆绑包中指定远程管道。在创建管道或任务运行时,您可以从 Tekton 捆绑包中指定远程任务。

流程

  • 要从 Tekton 捆绑包中指定远程管道或任务,请在 pipelineReftaskRef 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

    name

    要从捆绑包中拉取的资源名称。

    golang-build

    kind

    从捆绑包中拉取的资源类型。

    task

    如果管道或任务需要额外的参数,在管道、管道运行或任务运行规格的 params 部分中指定这些参数的值。pipelineReftaskRef 规格的 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
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.