azure dev ops yaml 管道上的多个命名触发器

问题描述 投票:0回答:1

是否可以为具有不同包含的管道配置多个触发器?

供上下文参考;我们在一个存储库中有 2 个项目,因为我们正在开发一个项目来替代另一个项目。如果对projectA文件夹进行更改,那么我们希望使用变量“projectPath”构建projectA。如果项目 B 已提交更改,那么我们应该构建项目 B。是否可以在同一分支上添加 2 个触发器,但一个使用包含项目 A,一个使用包含项目 B?这样我们就可以根据触发文件夹指定变量。

我已检查文档,但看不到任何对此的引用。

azure-devops
1个回答
0
投票

默认情况下,您可以使用路径过滤器: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:初始化或修改变量的值

© www.soinside.com 2019 - 2024. All rights reserved.