5.5. 过滤与管道运行匹配的事件的注解


您可以在管道运行中添加一个或多个注解,以过滤与此管道运行匹配的事件。在这种情况下,当定义的匹配事件(如拉取请求、推送事件或注释)发生时,Pipelines as Code 会检查这些注解是否也匹配。只有在您添加到它的所有注解都匹配时,才会启动管道运行。

5.5.1. 匹配管道运行的路径中的更改

您可以将管道运行与一组路径的更改匹配。只有在拉取请求或推送事件包含您列表的路径更改时,Pipelines as Code 才会启动管道运行。

* 通配符表示目录中的任何文件。** 通配符表示目录或目录中任何级别的子目录中的任何文件。

当拉取请求更改 pkg 目录、cli 目录或 cli 目录下的任何文件时,您可以使用以下示例匹配 pipeline-pkg-or-cli 管道运行。

apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  name: pipeline-pkg-or-cli
annotations:
  pipelinesascode.tekton.dev/on-path-changed: "[pkg/*, cli/**]"
# ...

5.5.2. 排除与管道运行匹配的路径的更改

如果拉取请求只对指定路径集合中的文件进行更改,您可以将管道运行配置为排除匹配。如果管道运行与事件匹配,但拉取请求只包含对您列出的路径中的文件的更改,Pipelines as Code 不会启动管道运行。

当拉取请求更改 docs /generated 目录或其子目录下的任何文件时,您可以使用以下示例匹配 pipeline-docs-not-generated pipeline 运行。

apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  name: pipeline-docs-not-generated
annotations:
  pipelinesascode.tekton.dev/on-path-changed: "[docs/**]"
  pipelinesascode.tekton.dev/on-path-changed-ignore: "[docs/generated/**]"
# ...

当拉取请求以 main 分支为目标时,您可以使用以下示例匹配 pipeline-main-not-docs pipeline 运行,除非更改只应用到 docs 目录或其子目录。

apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  name: pipeline-main-not-docs
annotations:
  pipelinesascode.tekton.dev/on-target-branch: "[main]"
  pipelinesascode.tekton.dev/on-event: "[pull_request]"
  pipelinesascode.tekton.dev/on-path-changed-ignore: "[docs/**]"
# ...

5.5.3. 将拉取请求标签匹配到管道运行

重要

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

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

您可以将管道运行与一个或多个拉取请求标签匹配。Pipelines as Code 仅在拉取请求有这些标签时启动管道运行。当使用新提交更新拉取请求时,如果标签仍然存在,Pipelines as Code 会再次运行管道。

bug 标签或 defect 标签添加到拉取请求时,您可以使用以下示例匹配 pipeline-bug-or-defect 管道运行,以及使用这个标签的拉取请求使用新的提交更新时:

apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  name: pipeline-bug-or-defect
annotations:
  pipelinesascode.tekton.dev/on-label: "[bug, defect]"
# ...
注意

当前版本的 Pipelines as Code 支持匹配事件,以仅拉取 GitHub、Gitea 和 GitLab 存储库托管服务提供商的请求标签。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat, Inc.