azure - 如何让 Azure Devops Pipelines 由 Prs 触发但不由其他提交触发

标签 azure azure-devops continuous-integration azure-pipelines

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

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

这是我的 pr 键:

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

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

为了实现上述目标,我该如何设置trigger键?

我尝试通过在 yaml 文件中排除 trigger 键来将其保留为默认值,但这只会获取任何文件夹中的每个提交。我也尝试过 trigger: none 但这似乎根本阻止了它的运行。我也尝试过让 trigger 键与 pr 键相同,但是当我创建 PR 时,它不会被触发。

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

最佳答案

事实证明我的问题有两个。

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

  1. 我认为 pr 键中包含的分支是 PR 的来源,不会合并到其中,因此我将其从 bugfix/*feature/* 更改为只是开发
  2. 管道yaml仅存在于develop分支中,并且不存在于develop分支中。

关于azure - 如何让 Azure Devops Pipelines 由 Prs 触发但不由其他提交触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62780020/

相关文章:

azure - 部署依赖于 Web 应用程序类的 Azure Function

java - 我可以在 Citrus 静态响应适配器负载中使用 Citrus 变量吗?

continuous-integration - TeamCity 的构建模板和元运行器之间有什么区别?什么时候用?

azure - 如何更改 Azure 虚拟机规模集中的目标实例数量?

azure - 如何通过 Microsoft Graph API 以编程方式创建 Microsoft MsaAppId 和 MsaAppPassword?

azure-devops - 在发布管道中使用 "windows-latest"

azure - terraform 计划不与 azurerm 提供商合作

git - 具有本地 Git 的 Azure DevOps 板

java - 如何在 SQL 字符串中插入多个 where 子句

powershell - Get-AzureLocation - 资源管理器替代方案