3.5. 使用 HTTP 解析器指定远程管道、任务或步骤操作


您可以使用 HTTP 解析器从 HTTP 或 HTTPS URL 指定远程管道、任务或 StepAction 定义。URL 必须指向定义管道、任务或步骤操作的 YAML 文件。

3.5.1. 配置 HTTP 解析器

您可以使用 HTTP 解析器从 HTTP 或 HTTPS URL 获取管道或任务。您可以通过编辑 TektonConfig 自定义资源(CR)为 HTTP 解析器配置默认值。

流程

  1. 输入以下命令编辑 TektonConfig CR:

    $ oc edit TektonConfig config
  2. TektonConfig CR 中,编辑 pipeline.http-resolver-config spec:

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      pipeline:
        http-resolver-config:
          fetch-timeout: "1m" 1
    1
    HTTP 解析器等待服务器响应的最长时间。

3.5.2. 使用 HTTP Resolver 指定远程管道、任务或步骤操作

在创建管道运行时,您可以从 HTTP 或 HTTPS URL 指定远程管道。在创建管道或任务运行时,您可以从 HTTP 或 HTTPS URL 指定远程任务。在任务中创建步骤时,您可以从 HTTP 或 HTTPS URL 引用远程 StepAction 定义。

流程

  • 使用 pipelineRef,taskRef, 或 step.ref spec 中的以下格式从 HTTP 或 HTTPS URL 指定远程管道、任务或 StepAction 定义:

    # ...
      resolver: http
      params:
      - name: url
        value: <fully_qualified_http_url>
    # ...
    表 3.6. HTTP Resolver 支持的参数
    参数描述值示例

    url

    指向要提取的 Tekton 资源的 HTTP URL。

    https://raw.githubusercontent.com/openshift-pipelines/tektoncd-catalog/p/tasks/task-git-clone/0.4.1/task-git-clone.yaml

例子

以下示例管道运行引用同一集群中的远程管道:

apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
  name: http-pipeline-reference-demo
spec:
  pipelineRef:
    resolver: http
    params:
    - name: url
      value: https://raw.githubusercontent.com/tektoncd/catalog/main/pipeline/build-push-gke-deploy/0.1/build-push-gke-deploy.yaml
  params:
  - name: sample-pipeline-parameter
    value: test
  - name: username
    value: "pipelines"

以下示例管道定义了一个任务,该任务从 HTTPS URL 引用远程任务:

apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
  name: pipeline-with-http-task-reference-demo
spec:
  tasks:
  - name: "http-task-demo"
    taskRef:
      resolver: http
      params:
      - name: url
        value: https://raw.githubusercontent.com/openshift-pipelines/tektoncd-catalog/p/tasks/task-git-clone/0.4.1/task-git-clone.yaml
    params:
    - name: sample-task-parameter
      value: test

以下示例任务运行引用 HTTPS URL 中的远程任务:

apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
  name: http-task-reference-demo
spec:
  taskRef:
    resolver: http
    params:
    - name: url
      value: https://raw.githubusercontent.com/openshift-pipelines/tektoncd-catalog/p/tasks/task-git-clone/0.4.1/task-git-clone.yaml
  params:
  - name: sample-task-parameter
    value: test

以下示例任务包含从 HTTPS URL 引用 StepAction 定义的步骤:

apiVersion: tekton.dev/v1
kind: Task
metadata:
  name: http-stepaction-reference-demo
spec:
  steps:
  - name: example-step
    ref:
      resolver: http
      params:
      - name: url
        value: https://raw.githubusercontent.com/openshift-pipelines/tektoncd-catalog/p/stepactions/stepaction-git-clone/0.4.1/stepaction-git-clone.yaml
    params:
    - name: sample-stepaction-parameter
      value: test
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.