首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当多个VCS根连接到构建配置时触发TeamCity VCS

当多个VCS根连接到构建配置时触发TeamCity VCS
EN

Stack Overflow用户
提问于 2014-10-31 21:26:59
回答 2查看 4.5K关注 0票数 4

我在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 Root都针对功能分支进行了配置,但是,删除分支规范也不会对结果产生影响。

以前有没有人遇到过类似的问题,并能给出一些建议?

EN

回答 2

Stack Overflow用户

发布于 2014-11-10 13:04:32

这可能会有所不同,也可能不会,但根据TeamCity 8.1 documentation中的示例,结帐规则应该是斜杠:"+:.=>./ProjectB“。

另外请注意,您仍将在此生成配置中看到挂起的更改,而不触发生成。当ProjectB中有变化,但ProjectA中没有变化时,就会发生这种情况。

如果上面没有回答这个问题,为了对这种配置有更多的理解,那么拥有额外的VCS Root而没有相应的触发规则的目的是什么?

票数 1
EN

Stack Overflow用户

发布于 2015-11-28 14:28:08

我有非常相同的配置:2个VCS根。

我需要触发第一个VCS根目录的主分支并运行build。

如果检测到签入,它将签出第二个VCS根目录并运行build。

将这一行添加到VSC根触发器规则对我很有帮助:+:root=VCS_root_id:**

如果没有:**,它就无法工作

TeamCity v9.1.3

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26675834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档