首页 > 解决方案 > 如何让 Prs 触发 Azure Devops Pipelines 但其他提交不触发

问题描述

我在 Azure DevOps Pipelines 中使用 yaml 管道,我看到它们有两个特定的触发键triggerpr.

我希望它进行设置,以便我必须运行测试和安全检查的一些管道仅在创建(或附加到)功能分支或错误修复分支上的 PR 时运行,而不是在它们只是推送到功能或错误修复分支时运行还没有PR。

这是我的pr钥匙:

pr:
  branches:
    include:
      - bugfix/*
      - feature/*
  paths:
    include:
      - Source/Frontend/*

这是用于运行测试、linting 和覆盖的 js 前端管道,因此我将其限制为仅更改包含前端代码的文件夹。

trigger为了实现上述目标,我应该设置什么关键?

我尝试通过trigger在我的 yaml 文件中排除一个键来将其保留为默认值,但这只会获取任何文件夹中的每个提交。我也尝试过trigger: none,但这似乎完全停止了它的运行。而且我也尝试过让trigger密钥与密钥相同pr,但是当我进行 PR 时,它并没有被解雇。

我已确保 Azure DevOps 中的触发器覆盖已关闭,因此它应该关闭 yaml 中的任何内容。

标签: azureazure-devopscontinuous-integrationazure-pipelines

解决方案


原来我的问题是双重的。

@Hugh Lin - MSFT 提供了一些帮助,但阻止它工作的原因如下:

  1. 我认为 pr 键中包含的分支是 PR 的来源,没有被合并到,所以我将它从bugfix/*和更改feature/*为 just develop
  2. 管道 yaml 只存在于开发分支中,不存在于开发分支中。

推荐阅读