9

当有 0 个文件更改时,我们目前在使用 VCS 触发器触发构建时遇到问题,我们的 VCS 根配置了 Mercurial

我们有一个结帐规则设置,仅签出我们要构建的解决方案的必要文件夹,并且我们要求仅在解决方案所属的文件夹发生更改时才构建解决方案

我们遇到的问题是,当文件夹没有任何更改时,teamcity 会触发构建,这仅在我们合并头时发生。

待处理的更改将显示 0 个文件,如果您查看文件更改,则显示的文件来自检出规则或 VCS 触发器中未包含的文件夹。

我似乎无法弄清楚这一点,因此将不胜感激。

4

2 回答 2

1

我猜 TC9文档回答了为什么会这样。我知道该文档适用于较新版本,但它似乎与您所拥有的确切场景有关。

在分支合并上触发构建

VCS 触发器完全了解分支,一旦在分支中检测到签入,就会触发构建。

当更改从一个分支合并/快速转发到另一个分支时,严格来说,代码中没有实际更改。默认情况下,VCS 触发器的行为方式如下:

  • 合并/快速转发两个非默认分支时:构建中的更改是根据同一分支中的先前构建计算的,因此如果在不同分支中存在相同提交的构建,则触发器将开始构建另一个指向同一个提交的分支。
  • 如果默认分支是合并/快速转发中的分支之一,则始终根据默认分支计算更改,如果默认分支中有相同版本的构建,TeamCity 将不会在相同的版本上运行新构建修订。
于 2016-06-01T14:00:39.690 回答
0

你看过触发规则吗?您可以设置自定义触发规则以仅在对特定文件夹的更改时运行构建。

http://confluence.jetbrains.com/display/TCD8/Configuring+VCS+Triggers#ConfiguringVCSTrigers-TriggerRulesExample

于 2014-01-03T17:47:25.550 回答