TeamCity - 收听多个分支上特定目录的更改

时间:2016-07-12 09:04:08

标签: teamcity

我已将vcs触发器配置为仅监控特定目录,如此" +:SomeDirectory / **"当我的VCS root配置了1个分支时,它工作正常。最近我做了一个更改并配置了VCS root来监听多个分支。

我有基于主开发分支的功能分支,我想只在特定目录被更改时触发构建。不幸的是,通过这种配置,teamcity为每个全新的功能分支触发了额外的构建(它假设它是新的分支,因此目录中有变化)。所以我有2个版本:如果在这个目录中有任何改变,并且如果branch是new,则构建。

只有在" someDirectory"中更改了某些内容时才能触发功能分支的构建。根据我的主要发展部门?

1 个答案:

答案 0 :(得分:2)

是的,您可以通过在“触发器配置”页面添加VCS触发器来执行此操作,您可以在其中指定"分支过滤器"。在这里,您还可以创建VCS Trigger Rules,您可以在其中指定哪个" VCS root"将触发构建,为哪些目录。

请注意,VCS Checkout Rules可能会影响VCS触发规则中使用的路径!

E.g。考虑将两个VCS Roots附加到构建配置,并使用结帐规则:

master-vcs-root  +:. => master
feature-vcs-root +:. => feature

所以master-vcs-root检出[agentpath] / master,而feature-vcs-root检出[agentpath] / feature。

如果我们只希望根据feature-vcs-root上特定目录中所做的更改触发触发器,则触发器规则应考虑结帐目录:

+:root=feature-vcs-root:feature/someDirectory/*

+:root=feature-vcs-root:someDirectory/*

这是在TeamCity Professional 2017.2.2(build 50909)上发现的。