Ric*_*ark 5 teamcity continuous-integration build teamcity-8.0
我在 TeamCity (TeamCity Professional 8.1.5 (build 30240)) 中有一个构建配置,并附加了两个 VCS 根。VCS 根指向单独的存储库。
此构建配置有一个 VCS 触发器,配置为在每次签入时触发项目,没有指定静默期。问题是,此触发器似乎不起作用,因为构建仍处于待处理状态。
添加了触发器规则:“+:root=VCSId_ProjectA:**”,以便对“ProjectB”所做的更改不会调用触发器。当只有一个 VCS 根附加到构建配置时,此触发器已经过测试,并且它按预期工作。
该触发器已通过轮询 ProjectA 存储库以及来自 ProjectA 的 POST 挂钩进行了测试。两种结果是相同的。(我什至尝试从 ProjectA 存储库发送多个 POST 挂钩来声明 ProjectA 和 ProjectB 已更改,毫不奇怪,这个绝望测试也不起作用)。
VCS 根之一的签出规则是:“+:. => .ProjectB”。这是为了确保ProjectB不是在ProjectA的根目录中,而是一个子目录。当手动启动待处理构建时,两个存储库都会正确获取。
两个 VCS 根都配置为功能分支,但是删除分支规范对结果也没有影响。
有没有人以前遇到过类似的问题并能够提供一些建议?
它可能会产生影响,也可能不会产生影响,但结帐规则应使用斜杠:“+:.=>./ProjectB”,如TeamCity 8.1 文档中的示例所示。
附加说明,您仍然会看到此构建配置中待处理的更改,而不会触发构建。当 ProjectB 发生更改但 ProjectA 没有更改时,就会发生这种情况。
如果上面没有回答问题并且为了更好地理解此配置,那么在没有相应触发规则的情况下拥有额外的 VCS Root 的目的是什么?
| 归档时间: |
|
| 查看次数: |
5250 次 |
| 最近记录: |