是否可以为具有不同包含的管道配置多个触发器?
供上下文参考;我们在一个存储库中有 2 个项目,因为我们正在开发一个项目来替代另一个项目。如果对projectA文件夹进行更改,那么我们希望使用变量“projectPath”构建projectA。如果项目 B 已提交更改,那么我们应该构建项目 B。是否可以在同一分支上添加 2 个触发器,但一个使用包含项目 A,一个使用包含项目 B?这样我们就可以根据触发文件夹指定变量。
我已检查文档,但看不到任何对此的引用。
默认情况下,您可以使用路径过滤器:Paths
作为一种解决方法,您可以创建一个模板来构建您的解决方案(模板使用参考、模板参数),然后创建两个具有不同路径过滤器的 yaml
# specific path build
trigger:
branches:
include:
- main
paths:
include:
- project1
steps:
- template: steps/your_build.yml
parameters:
projectPath: Project1
或者您可以添加步骤
git diff --name-only --relative --diff-filter AMR HEAD~...HEAD .
检查更改的路径并通过日志记录命令将所需的值设置为
projectPath
变量:SetVariable:初始化或修改变量的值