我在Visual Studio Team Services中有一个带有两个子文件夹的存储库:代码和脚本。 现在,使用“触发器”选项卡上的“路径过滤器”,在Scripts文件夹中发生更改时,我将触发一个构建(BuildScripts),在Code文件夹中发生更改时,我将触发另一个构建(BuildCode)。如果在推送或完成拉取请求后两个文件夹都已更改,则将触发两个构建。
如果仅在Code文件夹中有更改,我想做的就是触发BuildCode构建。有办法吗?
答案 0 :(得分:1)
如果仅在Code文件夹中有更改,我想做的就是触发BuildCode构建。有办法吗?
恐怕没有这种方法。
据我了解,如果在代码文件夹中仅仅进行更改,则希望触发BuildCode
构建。这意味着,如果在推送或完成拉取请求后两个文件夹都已更改,则不会触发BuildCode
构建。如果我理解您的正确,那么您应该没有任何办法。
启用选项启用持续集成后,Azure Devops将在我们向分支/文件夹提交任何更改以确保我们的修改正确后触发生成。这是设计此功能的初衷。
如果两个文件夹都已更改,但仅构建了一个文件夹,这与该功能的初衷不符。而且我们可以绕过设置BuildCode
文件夹启用持续集成。
希望这会有所帮助。
答案 1 :(得分:0)
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。可以找到一个示例here。