Tekton通过传递参数运行管道



我有一个TektonPipelinePipelineRun定义。但是,我无法通过传递参数来实现Pipeline的运行。

apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
generateName: build-deploy-
labels:
tekton.dev/pipeline: build-deploy
spec:
serviceAccountName: tekton-build-bot
pipelineRef:
name: build-deploy
params:
- name: registry-address
value: $(REG_ADDRESS)
- name: repo-address
#value: $(REPO_ADDRESS)
value: $(REPO_ADDRESS)
- name: repo-name
value: $(REPO_NAME)
- name: version
value: $(VERSION)
workspaces:
- name: source
persistentVolumeClaim:
claimName: my-pvc

在尝试使用以下命令kubectl create -f pipelinerun.yaml运行该runner时,如何传递while参数?

示例:

value: $(REG_ADDRESS)->我想在运行管道之前传递注册表地址,而不是给出硬编码的常量。

使用kubectl create时不能传递这些参数。

有两种选择:

使用tkn-cli

您可以使用tkn,这是专门为Tekton制作的CLI。然后,您可以开始运行管道,例如:

tkn pipeline start build-deploy 
--param registry-address=yay 
--param repo-name=nay 
--workspace name=source,claimName=my-pvc

使用触发器启动管道

你可以设置一个触发器,在某些事件上启动你的管道运行,例如当你推送到Git时。

然后使用TriggerTemplate 完成带有参数映射的PipelineRun模板

另一个例子如下:

tkn pipeline start pipeline-name --showlog 
-w name=namespace-name,claimName=youor-pvc 
-w name=git-credentials,secret=gh-token 
-p repo-url=https://github.com/your-url 
-p revision=REV-507

相关内容

  • 没有找到相关文章

最新更新