3.5. 使用 HTTP 解析器指定远程管道、任务或步骤操作
您可以使用 HTTP 解析器从 HTTP 或 HTTPS URL 指定远程管道、任务或 StepAction
定义。URL 必须指向定义管道、任务或步骤操作的 YAML 文件。
3.5.1. 配置 HTTP 解析器
您可以使用 HTTP 解析器从 HTTP 或 HTTPS URL 获取管道或任务。您可以通过编辑 TektonConfig
自定义资源(CR)为 HTTP 解析器配置默认值。
流程
输入以下命令编辑
TektonConfig
CR:$ oc edit TektonConfig config
在
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