在TeamCity中从共享VCS根配置多个构建配置

5
我有一个包含多个项目的单一SVN存储库,例如:
  • /molindo/trunk/foo
  • /molindo/trunk/bar
  • /molindo/trunk/baz
目前,我已配置了3个项目,所有项目都使用共享的VCS根/molindo。
默认情况下,每次提交都会触发所有3个项目的构建(尽管trunk / foo不关心trunk / bar或trunk / baz中的更改)。我已经看到,可以配置VCS触发器(例如+:/ trunk / foo / **用于foo项目)。虽然这对于构建触发有效,但仍会显示其他项目的待处理更改。
那么现在我的选择是什么?我可以考虑:
  1. 接受UI上显示的无关更改
  2. 回去为每个项目创建VCS根
这两个选项都不太理想。第一个选项因为它很丑陋,第二个选项因为它很繁琐。还有其他我不知道的选项吗?或者从共享的SVN存储库构建多个项目的另一种(首选)方法是什么?
2个回答

5

在单个版本控制系统根目录上使用“检出规则”是可能的:

  • "+:trunk/foo" 表示 foo
  • "+:trunk/bar" 表示 bar
  • "+:trunk/baz" 表示 baz

我删除了我的回答 - 我查看了我所拥有的TeamCity副本(最初由其他人配置),看到了那些设置,但没有进一步尝试,所以没有意识到它正在执行您想要的操作! - Murph

1
请尝试使用以下版本控制触发器规则:
项目“foo”的版本控制触发器规则:
+:/trunk/foo/**   
-:/trunk/bar/** 
-:/trunk/baz/** 

项目“bar”的VCS触发规则:
+:/trunk/bar/** 
-:/trunk/foo/** 
-:/trunk/baz/** 

项目“baz”的VCS触发规则:
+:/trunk/baz/** 
-:/trunk/foo/** 
-:/trunk/bar/** 

+1. 注意是双星号 **,不是单星号 *。这就是让我困惑的地方。 - Hugo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接