管道触发器的故障排除

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

如果管道根本不启动,请检查是否存在以下与触发器相关的常见问题。

注意

运行可能无法启动的另一个原因是,组织在最后一个用户退出登录 Azure DevOps 五分钟后进入休眠状态。 之后,每个生成管道将再运行一次。 例如,当组织处于休眠状态时:

  • 组织中每晚生成的代码只会运行一个晚上,直到有人再次登录。
  • 其他 Git 存储库的 CI 生成将停止运行,直到有人再次登录。

UI 设置替代 YAML 触发器设置

YAML 管道可以在管道设置 UI 中替代其 triggerpr 触发器设置。 如果 triggerpr 触发器看起来未触发,请检查该设置。 编辑管道时,选择“...”,然后选择“触发器”。

管道设置 UI

选中“从此处替代 YAML 触发器”设置,看看存储库可用的触发器类型(“持续集成”或“拉取请求验证”)。

从此处替代 YAML 触发器。

Azure Repos 不支持拉取请求触发器

如果 pr 触发器未触发,并且你使用的是 Azure Repos,则这是因为 Azure Repos 不支持 pr 触发器。 在 Azure Repos Git 中,分支策略用于实现拉取请求生成验证。 有关详细信息,请参阅拉取请求验证的分支策略

“禁用默示的 YAML CI 触发器”设置已启用

默认情况下,所有分支上的 YAML 管道都会配置 CI 触发器,除非 Azure DevOps sprint 227 中的“禁用默示的 YAML CI 触发器”已启用。 “禁用默示的 YAML CI 触发器”设置可以在组织级别或项目级别配置,默认情况下,该设置不会启用。

如果管道使用默认的隐式 CI 触发器,并且管道停止工作,则请检查此设置。 启用“禁用默示的 YAML CI 触发器”设置后,如果 YAML 管道没有 trigger 部分,则不会启用 YAML 管道的 CI 触发器。

CI 和 PR 触发器中的分支筛选器配置错误

定义 YAML PR 或 CI 触发器时,可以为分支和路径指定 includeexclude 子句。 确保 include 子句与提交的详细信息匹配,并且 exclude 子句不会排除它们。

重要

定义 YAML PR 或 CI 触发器时,只有显式配置为包含的分支才会触发运行。 首先处理包含项,然后从该列表中删除排除项。 如果指定排除但不指定任何包含项,则不会触发任何内容。 有关详细信息,请参阅 pr触发器

定义 YAML PR 或 CI 触发器时,可以为分支、标记和路径指定 includeexclude 子句。 确保 include 子句与提交的详细信息匹配,并且 exclude 子句不会排除它们。 有关详细信息,请参阅 pr触发器

注意

如果指定 exclude 子句不包含 include 子句,则等效于在 include 子句中指定 *

计划触发器时区转换

YAML 计划触发器是使用 UTC 时区设置的。 如果计划触发器似乎未在正确的时间触发,请确认 UTC 和本地时区之间的转换,同时考虑日期设置。 有关详细信息,请参阅 计划触发器

UI 设置替代 YAML 计划触发器

如果 YAML 管道同时具有 YAML 计划触发器和 UI 定义的计划触发器,则只会运行 UI 定义的计划触发器。 若要在 YAML 管道中运行 YAML 定义的计划触发器,必须删除管道设置 UI 中定义的计划触发器。

若要从 YAML 管道访问管道设置 UI,请编辑管道,选择“...”,然后选择“触发器”。

管道设置 UI

删除所有计划触发器。

在管道设置 UI 中删除计划触发器。

删除所有 UI 计划触发器后,必须进行推送,以便 YAML 计划触发器开始运行。 有关详细信息,请参阅 计划触发器

我需要更多帮助。 我发现了一个 bug。 我有一个建议。 我应该去什么位置?

获取订阅、计费和技术支持

开发者社区报告任何问题或提交反馈。

欢迎提供建议: