仅当 Azure Pipelines 中的指定文件夹没有更改时才触发构建

Trigger build only if no changes on specified folder in Azure Pipelines

我在 Visual Studio 团队服务:代码和脚本中有一个包含两个子文件夹的存储库。 我现在在脚本文件夹发生变化时触发一个构建 (BuildScripts),在代码文件夹发生变化时使用触发器选项卡上的路径过滤器触发另一个构建 (BuildCode)。如果在推送或完成拉取请求后两个文件夹都发生了变化,那么两个构建都将被触发。

我想做的是,如果仅代码文件夹中有更改,则触发 BuildCode 构建。有办法吗?

What I'd like to do is trigger the BuildCode build if there are changes only in the Code folder. Is there a way to do this?

恐怕没有这种方法可以做到这一点。

据我了解,如果代码文件夹中有 更改,您希望触发 BuildCode 构建。这意味着如果在推送或完成拉取请求后两个文件夹都已更改,则不会触发 BuildCode 构建。如果我理解你是对的,你应该没有办法做到这一点。

当我们启用启用持续集成选项时,Azure Devops将在我们提交branch/folder中的任何更改后触发构建,以确保我们的修改是正确的。这就是设计这个功能的初衷。

如果两个文件夹都变了,只建一个文件夹,不符合这个功能的初衷。我们可以绕过 BuildCode 文件夹的启用持续集成设置。

希望这对您有所帮助。

Azure Devops 确实支持这种情况。如果您使用以下文件夹结构

 rootfolder
|- scripts
|- code

只需为每个要构建的路径创建一个 azure-pipelines.yml 并在顶部添加以下行:

trigger:
  paths:
    include:
    - path/to/include/*

# for exampple: 
#   - scripts/*

# You can also exlude specific files
    exclude:
    - docs/README.md

Microsofts Documentation. An example can be found here 阅读更多内容。