TeamCity Finish Build Trigger仅触发默认分支构建问题求助
问题解决思路
核心问题出在分支映射规则上:TeamCity的Finish Build Trigger默认会尝试将触发源(BCA)的分支与目标配置(BCB)的分支进行同名匹配,但BCB只有master分支,没有staging分支,所以当BCA的staging分支构建完成时,系统找不到对应分支,自然不会触发BCB构建。
具体解决方案
1. 修改分支过滤器的映射规则
把BCB触发器里的分支过滤器改成带分支映射的格式,强制将BCA的三个分支都映射到BCB的master分支:
+:develop=>master +:staging=>master +:master=>master
这个规则的作用是:无论BCA的develop/staging/master哪个分支构建成功,都触发BCB的master分支执行测试。
2. 检查BCB的分支限制设置
确认BCB的分支配置中没有勾选仅允许默认分支构建的选项(路径:构建配置设置 → 分支 → 分支规则)。如果勾选了这个选项,即使触发器匹配,系统也会拒绝非默认分支的触发请求(不过你说BCB唯一分支是master,这个大概率没问题,但还是确认下更稳妥)。
3. 取消触发器的"同分支触发"选项
在Finish Build Trigger的设置里,找到Trigger build on same branch选项,取消勾选。这个选项默认开启时,只会在目标配置存在与源分支同名的分支时才触发,取消后配合分支映射规则,就能实现跨分支触发。
内容的提问来源于stack exchange,提问作者String.Empty
相关产品推荐
相关产品推荐

