当有0个文件更改时,我们当前遇到Teamcity使用VCS触发器触发构建时出现问题,我们的VCS根目录是使用Mercurial配置的
我们有一个结帐规则设置,只检查我们要构建的解决方案所需的文件夹,如果解决方案所属的文件夹中有更改,我们只需要构建解决方案
我们遇到的问题是teamcity是在文件夹没有任何变化时触发构建,这只有当我们合并头时才会发生。
挂起的更改将显示0个文件,如果您查看文件更改,则显示的文件来自未包含在结帐规则或VCS触发器中的文件夹。
我似乎无法想出这一点,所以任何帮助都会受到赞赏。
答案 0 :(得分:1)
我猜TC9 documentation回答了为什么会这样。我知道这个文档适用于较新版本,但它似乎与您的确切情况有关。
在分支合并上触发构建
VCS触发器完全了解分支,并且一旦在分支中检测到签入,就会触发构建。
当更改从一个分支合并/快速转发到另一个分支时,严格来说代码中没有实际更改。默认情况下,VCS触发器的行为方式如下:
- 合并/快速转发两个非默认分支时:a中的更改 构建是根据以前的构建计算的 分支,所以如果在不同分支中有相同提交的构建, 触发器将在指向相同的另一个分支中启动构建 承诺。
- 如果默认分支是其中一个分支 合并/快进,变化总是针对 默认分支,如果在默认情况下存在相同修订版本 分支机构,TeamCity不会在同一版本上运行新版本。
答案 1 :(得分:0)
您是否看过触发器规则?您可以将自定义触发器规则设置为仅对特定文件夹的更改运行构建。