首页 > 解决方案 > 仅当 Azure Pipelines 中的指定文件夹没有更改时触发构建

问题描述

我在 Visual Studio Team Services 中有一个包含两个子文件夹的存储库:代码和脚本。我现在在 Scripts 文件夹发生更改时触发一个构建 (BuildScripts),当使用 Triggers 选项卡上的 Path Filters 在 Code 文件夹中发生更改时触发另一个构建 (BuildCode)。如果在推送或完成拉取请求后两个文件夹都发生了变化,那么两个构建都将被触发。

如果仅在 Code 文件夹中有更改,我想做的是触发 BuildCode 构建。有没有办法做到这一点?

标签: azure-devopsazure-pipelinesazure-pipelines-release-pipeline

解决方案


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

在Microsoft 文档中阅读更多信息。一个例子可以在这里找到。


推荐阅读