TeamCity VCS在多个VCS Roots附加到Build Configuration时触发

我在TeamCity(TeamCity Professional 8.1.5(build 30240))中有一个构建配置,附加了两个VCS根. VCS根源指向单独的存储库.

此构建配置具有VCS触发器,配置为在每次签入时触发项目,未指定静默期.问题是,这个触发器似乎不起作用,因为构建仍然处于Pending状态.

添加了一个触发器规则:“:root = VCSId_ProjectA:**”,以便对“ProjectB”所做的更改不会调用触发器.当只有一个VCS根连接到构建配置并且它按预期工作时,已经测试了此触发器.

触发器已通过轮询ProjectA存储库以及ProjectA的POST挂钩进行测试.两种结果都是一样的. (我甚至尝试从ProjectA存储库发送多个POST挂钩,以声明ProjectA和ProjectB已经更改,不出所料,这种绝望测试也不起作用).

其中一个VCS根的结帐规则是:“:.=> .ProjectB”.这是为了确保ProjectB不在ProjectA的根目录中,而是在子目录中.手动启动Pending构建时,将正确获取这两个存储库.

两个VCS根都配置为功能分支,但是,删除分支规范也不会对结果产生任何影响.

有没有人以前经历过类似的问题并能够提出一些建议?

最佳答案 它可能会有所不同,也可能没有,但结帐规则应该是斜杠:“:.=.> ./ ProjectB”,如
TeamCity 8.1 documentation中的示例所示.

另外请注意,在没有触发构建的情况下,您仍会看到此构建配置中的挂起更改.当ProjectB中有更改但ProjectA中没有更改时,会发生这种情况.

如果上面没有回答这个问题,并且对这个配置有了更多的了解,那么在没有相应的触发规则的情况下拥有额外的VCS Root的目的是什么?

点赞