单仓分支推送时Azure Pipeline未触发问题求助
问题解决:MonoRepo中Hotfix分支推送无法触发对应CI Pipeline
我们的场景是Bitbucket托管的MonoRepo,包含ProjectA/B/C三个项目,每个项目配有独立的pipelines/ci.yml,配置了分支触发规则但推送hotfix分支时无法触发CI,手动触发正常,无路径过滤的PR触发Pipeline也可正常运行。
核心问题:路径匹配语法错误
你尝试的几种路径写法都不符合Azure Pipelines(你的配置语法属于Azure Pipelines对接Bitbucket场景)的路径匹配规则,导致hotfix分支的文件变更无法被正确识别。
修正方案
将路径规则修改为项目文件夹+递归匹配符,这是Azure Pipelines中匹配指定目录下所有内容的标准写法:
trigger: batch: true branches: include: - master - develop - feature/* - release/* - hotfix/* paths: include: - '<Project Folder>/**' # 替换为实际项目文件夹名称,比如ProjectA/** pr: none
额外检查项
- 确认文件变更:确保推送的hotfix分支中,确实修改了对应
<Project Folder>目录下的文件——如果分支仅从其他分支切出无任何变更,路径过滤会直接跳过触发。 - 大小写一致性:检查配置中的文件夹名称与仓库中实际的文件夹名称大小写完全一致(Bitbucket和Azure Pipelines的路径匹配默认大小写敏感)。
- 排除路径冲突:如果配置中存在
paths.exclude规则,确保没有误排除目标项目文件夹的内容。
测试验证
可以先临时注释掉paths规则,推送hotfix分支验证是否能触发Pipeline。如果能触发,说明问题确实出在路径匹配上,再应用修正后的路径规则即可。
内容的提问来源于stack exchange,提问作者Bug Maker
相关产品推荐
相关产品推荐

