5.6. 为管道运行指定自动的 cancellation-in-progress 的注解


默认情况下,Pipelines as Code 不会自动取消管道运行。每个管道运行都会以 Pipelines as Code 创建并启动执行,直到它完成为止。但是,触发管道运行的事件可能会快速连续。例如,如果拉取请求触发管道运行,然后用户将新提交推送到拉取请求源分支,每个推送都会触发管道运行的新副本。如果发生多个推送,可以运行多个副本,这会消耗过量集群资源。

您可以配置管道运行来启用自动取消处理。如果您为管道运行启用自动取消,Pipelines as Code 会在以下情况下取消管道运行:

  • Pipelines as Code 已成功为同一拉取请求或同一源分支启动同一管道运行的副本。
  • 触发管道运行的拉取请求会合并或关闭。

在创建 sample-pipeline 管道运行时,您可以使用以下示例启用自动取消:

apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  name: sample-pipeline
annotations:
  pipelinesascode.tekton.dev/cancel-in-progress: "true"
# ...
Copy to Clipboard Toggle word wrap
重要

自动取消管道运行的处理只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

注意
  • 当启动此管道运行的新副本 ,Pipelines as Code 会取消管道运行。pipelinesascode.tekton.dev/cancel-in-progress 设置 不能 确保任何时间点上仅执行管道运行的一个副本。
  • 要为所有默认管道运行启用 cancellation-in-progress,请使用 enable-cancel-in-progress-on-pull-requestsenable-cancel-in-progress-on-push 设置。这些设置包括在 TektonConfig 自定义资源(CR)的 platform.openshift.pipelinesAsCode.settings spec 中,将 Pipelines 配置为代码。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat