如何在单分支多项目场景下触发指定Azure DevOps CI流水线
Azure DevOps单分支多项目按需触发CI流水线方案
核心实现逻辑依赖Azure DevOps CI流水线内置的路径过滤触发规则,具体操作步骤如下:
- 步骤1:为每个独立项目创建专属的CI流水线定义
为项目A、项目B分别编写独立的流水线配置,支持yml文件配置或可视化界面配置两种方式。如果使用yml配置,可将配置文件命名为azure-pipelines-projectA.yml、azure-pipelines-projectB.yml,存放在对应项目的根目录或仓库根目录即可。 - 步骤2:配置路径过滤触发规则
核心逻辑是仅在对应项目的流水线中,设置仅监听该项目关联目录的代码变更,yml配置示例如下:
项目B的流水线同理,仅在trigger: branches: include: - main # 替换为你实际使用的单分支名称 paths: include: - src/ProjectA/* # 替换为项目A的仓库相对路径 - src/Common/* # 若项目A依赖公共组件,补充公共组件路径,无依赖可删除该行paths.include中填写项目B对应的路径即可。如果使用可视化编辑器配置,直接在流水线「触发器」选项卡的「路径筛选」模块,添加对应包含/排除路径即可,规则和yml配置完全一致。 - 步骤3:在Azure DevOps平台导入对应流水线
在Azure DevOps的流水线管理界面,分别关联两个项目的流水线配置,创建独立的CI流水线即可。
注意:如果多个项目依赖公共的代码目录,需要将公共目录同时添加到所有依赖该公共代码的项目流水线的包含路径中,避免公共代码修改时对应业务项目流水线无法触发的问题。
内容的提问来源于stack exchange,提问作者kiran
相关产品推荐
相关产品推荐

