Teamcity触发合并的构建

时间:2013-12-12 08:17:24

标签: mercurial teamcity teamcity-8.0

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

我们有一个结帐规则设置,只检查我们要构建的解决方案所需的文件夹,如果解决方案所属的文件夹中有更改,我们只需要构建解决方案

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

挂起的更改将显示0个文件,如果您查看文件更改,则显示的文件来自未包含在结帐规则或VCS触发器中的文件夹。

我似乎无法想出这一点,所以任何帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:1)

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

  

在分支合并上触发构建

     

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

     

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

     
      
  • 合并/快速转发两个非默认分支时:a中的更改   构建是根据以前的构建计算的   分支,所以如果在不同分支中有相同提交的构建,   触发器将在指向相同的另一个分支中启动构建   承诺。
  •   
  • 如果默认分支是其中一个分支   合并/快进,变化总是针对   默认分支,如果在默认情况下存在相同修订版本   分支机构,TeamCity不会在同一版本上运行新版本。
  •   

答案 1 :(得分:0)

您是否看过触发器规则?您可以将自定义触发器规则设置为仅对特定文件夹的更改运行构建。

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