2009-11-19 59 views
5

我有一个包含多个项目的SVN存储库,例如,从TeamCity中的共享VCS根配置多个生成配置

  • /molindo /中继/ foo的
  • /molindo /中继/酒吧
  • /molindo /中继/巴兹

目前,我已经配置3个项目,都使用共享VCS根/ molindo。

默认情况下,每次提交都会触发构建所有3个项目(尽管trunk/foo不关心trunk/bar或trunk/baz中的更改)。正如我所看到的,可以配置VCS触发器(例如项目foo的+:/ trunk/foo/**)。虽然这适用于构建触发,但它仍会显示其他项目的待处理更改。

那么我现在有什么选择。我能想到的

  1. 接受显示为UI
  2. 未决
  3. 回去和创建VCS根为每个项目

两个选项是不理想的不相关的更改。第一,因为它很丑,第二,因为它很麻烦。有没有其他的选择我不知道?还是有另一种(首选)从共享的SVN存储库构建多个项目?

回答

5

有可能使用 “Checkout Rules” 在单个VCS根:

  • “+:躯干/ foo” 的foo的
  • “+:躯干/栏” 棒材
  • “+:躯干/巴兹”为巴兹
+0

删除我的回答 - 我看着我的TeamCity的副本(哪些人最初配置)并看到了这些设置,但没有超出这个范围,所以没有意识到它正在做你想做的事! – Murph 2009-11-19 14:19:51

1

请尝试使用下面的VCS触发规则

VCS触发规则项目‘富’:

+:/trunk/foo/** 
-:/trunk/bar/** 
-:/trunk/baz/** 

VCS触发规则项目 “栏”:

+:/trunk/bar/** 
-:/trunk/foo/** 
-:/trunk/baz/** 

VCS触发规则项目 “巴兹”:

+:/trunk/baz/** 
-:/trunk/foo/** 
-:/trunk/bar/** 
+0

+1。注意双**,而不是一个'*'。这就是抓住我的原因。 – Hugo 2012-01-31 10:00:43