3.3. 使用匿名 Git 克隆指定远程管道、任务或步骤操作
您可以使用 Git 解析器访问 Git 存储库中的远程管道、任务或 StepAction 定义。存储库必须包含定义管道或任务的 YAML 文件。对于匿名访问,您可以使用解析器克隆存储库,而无需身份验证凭证。
3.3.1. 为匿名 Git 克隆配置 Git 解析器 复制链接链接已复制到粘贴板!
如果要使用匿名 Git 克隆,您可以配置默认的 Git 修订、获取超时和默认存储库 URL,以便从 Git 存储库拉取远程管道和任务。
流程
要编辑
TektonConfig自定义资源,请输入以下命令:$ oc edit TektonConfig config在
TektonConfig自定义资源中,编辑pipeline.git-resolver-configspec:apiVersion: operator.tekton.dev/v1alpha1 kind: TektonConfig metadata: name: config spec: pipeline: git-resolver-config: default-revision: main1 fetch-timeout: 1m2 default-url: https://github.com/tektoncd/catalog.git3
3.3.2. 使用 Git 解析器进行匿名克隆指定远程管道、任务或步骤操作 复制链接链接已复制到粘贴板!
在创建管道运行时,您可以使用匿名克隆从 Git 存储库指定远程管道。在创建管道或任务运行时,您可以从 Git 仓库指定远程任务。在任务中创建步骤时,您可以从 Git 存储库中引用远程 StepAction 定义。
流程
要指定 Git 存储库中的远程管道、任务或
StepAction定义,请在pipelineRef,taskRef, 或step.refspec 中使用以下引用格式:# ... resolver: git params: - name: url value: <git_repository_url> - name: revision value: <branch_name> - name: pathInRepo value: <path_in_repository> # ...Expand 表 3.3. Git 解析器支持的参数 参数 描述 示例值 url使用匿名克隆时存储库的 URL。
https://github.com/tektoncd/catalog.gitrevision存储库中的 Git 修订。您可以指定分支名称、标签名称或提交 SHA 哈希。
aeb957601cf41c012be462827053a21a420befcamainv0.38.2pathInRepo存储库中的 YAML 文件的路径名称。
task/golang-build/0.3/golang-build.yaml注意要匿名克隆和获取存储库,请使用
url参数。不要同时指定url参数和repo参数。如果管道或任务需要额外的参数,请在
params中提供这些参数。
例子
以下示例管道运行引用 Git 存储库中的远程管道:
apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
name: git-pipeline-reference-demo
spec:
pipelineRef:
resolver: git
params:
- name: url
value: https://github.com/tektoncd/catalog.git
- name: revision
value: main
- name: pathInRepo
value: pipeline/simple/0.1/simple.yaml
params:
- name: name
value: "testPipelineRun"
- name: sample-pipeline-parameter
value: test
以下示例管道引用 Git 存储库中的远程任务:
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
name: pipeline-with-git-task-reference-demo
spec:
tasks:
- name: "git-task-reference-demo"
taskRef:
resolver: git
params:
- name: url
value: https://github.com/tektoncd/catalog.git
- name: revision
value: main
- name: pathInRepo
value: task/git-clone/0.6/git-clone.yaml
params:
- name: sample-task-parameter
value: test
以下示例任务运行引用 Git 存储库中的远程任务:
apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
name: git-task-reference-demo
spec:
taskRef:
resolver: git
params:
- name: url
value: https://github.com/tektoncd/catalog.git
- name: revision
value: main
- name: pathInRepo
value: task/git-clone/0.6/git-clone.yaml
params:
- name: sample-task-parameter
value: test
以下示例任务包含引用 Git 存储库中的 StepAction 定义的步骤:
apiVersion: tekton.dev/v1
kind: Task
metadata:
name: git-stepaction-reference-demo
spec:
steps:
- name: example-step
ref:
resolver: git
- name: url
value: https://github.com/openshift-pipelines/tektoncd-catalog.git
- name: revision
value: p
- name: pathInRepo
value: stepactions/stepaction-git-clone/0.4.1/stepaction-git-clone.yaml
params:
- name: sample-stepaction-parameter
value: test