使用 hub resolver 指定远程任务

功能概述

Task 是 CI/CD 流程中可复用的块。 在创建 pipeline run 或 task run 时,您可以从 DevOps Hub 上可用的 Catalog 中指定一个远程 Task。ACP DevOps 通过 artifacthub-shim 提供内置的 Hub catalog。

步骤

1. 使用 Web 控制台选择一个 Task

  1. 转到 Container Platform。
  2. 在左侧导航栏中,单击 Pipelines > Pipelines。
  3. 创建一个 Pipeline,然后可以从 Catalog 中选择一个远程 Task。

2. 使用 hub resolver 指定远程任务

要指定远程任务,请在 taskRef 中使用以下引用格式:

# ...
  taskRef:
    resolver: hub
    params:
    - name: type
      value: artifact
    - name: catalog
      value: catalog
    - name: kind
      value: task
    - name: name
      value: <resource_name>
    - name: version
      value: "<resource_version>"
# ...
参数描述示例值
typeHub 后端类型。对 artifacthub-shim 使用 artifactartifact
catalog用于拉取资源的 catalog。内置 Tasks 请使用 catalogcatalog
kind可以是 task 或 pipeline。task
name要从 hub 获取的 task 或 pipeline 的名称。git-cli
version要从 hub 获取的 task 或 pipeline 的版本。数字周围必须使用引号 (")。"0.4"

如果 Task 需要其他参数,请在 pipeline 或 task run 的规范中的 params 部分为这些参数指定值。 taskRef 规范中的 params 部分必须只包含 resolver 支持的参数。

示例:

下面的示例 pipeline 引用了 catalog 中的一个远程 Task:

apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: pipeline-with-hub-task-reference-demo
spec:
  tasks:
  - name: "cluster-task-reference-demo"
    taskRef:
      resolver: hub
      params:
      - name: type
        value: artifact
      - name: catalog
        value: catalog
      - name: kind
        value: task
      - name: name
        value: git-cli
      - name: version
        value: "0.4"
    params:
    - name: sample-task-parameter
      value: "foo"

下面的示例 task run 引用了 catalog 中的一个远程 Task:

apiVersion: tekton.dev/v1
kind: TaskRun
metadata:
  name: hub-task-reference-demo
spec:
  taskRef:
    resolver: hub
    params:
    - name: type
      value: artifact
    - name: catalog
      value: catalog
    - name: kind
      value: task
    - name: name
      value: git-cli
    - name: version
      value: "0.4"
  params:
  - name: sample-task-parameter
    value: "foo"

了解更多