运行Tekton流水线遇spec.params[DOCKER_IMAGE_NAME]重复参数错误求助
Tekton流水线参数重复错误修复
错误信息
流水线无法运行,资源应用失败 - Kind: "Task", Name: "versions-push-task"
准入webhook "validation.webhook.pipeline.tekton.dev"拒绝请求:验证失败,参数重复出现:spec.params[DOCKER_IMAGE_NAME]
问题原因
错误提示明确指出versions-push-task的spec.params中存在重复的DOCKER_IMAGE_NAME参数定义。尽管你提供的代码片段中该参数只出现一次,但实际提交的YAML文件大概率存在重复条目(可能是编辑时误添加、复制粘贴失误导致)。
修复步骤
- 打开你的Task YAML文件,定位到
spec.params区域 - 检查所有参数的
name字段,删除重复的- name: DOCKER_IMAGE_NAME条目,确保该参数仅定义一次 - 确认YAML格式无误,参数列表的缩进保持一致
修正后的示例代码
apiVersion: tekton.dev/v1beta1 kind: Task metadata: name: versions-push-task spec: params: - name: DESTINATION - name: DOCKER_IMAGE_NAME - name: REGISTRY_REGION_ID - name: INPUT_GIT_BRANCH - name: GIT_REPO - name: VERSIONS_GIT_BRANCH - name: IBMCLOUD_HOME workspaces: - name: task-pvc mountPath: /artifacts steps: - name: push-versions securityContext: privileged: true image: $(params["DOCKER_IMAGE_NAME"]) command: ["/bin/sh", "-c"] args: - set -e && set -x && cd /artifacts && pwd && mv git .git && git config --global user.email "toolchain@cloud.ibm.com" && git config --global user.name "IBM Cloud DevOps Toolchain" && ibm-bifrost versions --push ${VERSIONS_GIT_BRANCH} env: - name: DESTINATION value: $(params.DESTINATION) - name: REGISTRY_REGION_ID value: $(params.REGISTRY_REGION_ID) - name: INPUT_GIT_BRANCH value: $(params.INPUT_GIT_BRANCH) - name: GIT_REPO value: $(params.GIT_REPO) - name: VERSIONS_GIT_BRANCH value: $(params.VERSIONS_GIT_BRANCH) - name: IBMCLOUD_HOME value: $(params.IBMCLOUD_HOME)
验证修复
将修正后的YAML应用到集群:
kubectl apply -f your-task-file.yaml
重新触发流水线,确认错误不再出现。
内容的提问来源于stack exchange,提问作者subrat nayak
相关产品推荐
相关产品推荐

