2014-09-02 68 views
1

我有两个完全独立的项目,它们都依赖于相同的基础项目和共享nuget包。出于这个原因,我别无选择,只能有一个VCS根目录来确保我拥有所有需要的文件。单个VCS根目录下的多个项目导致挂起

我已经设法配置TeamCity中的每个项目来处理所需的csproj文件并正确触发。但是,如果我为项目A提交了一些项目B不关心的东西,它仍然会显示为“Pending(x)”,即使它们永远不会被该项目的配置触发。

当我提交项目B的工作 - 关心时,它会消失,但看起来很烦人。那么有没有办法将它配置为不查看项目A中文件的更改?

Pending example

这是项目中的触发器:

-:root=SVN:. 
+:Web/** 
+:Library/** 

这是项目B中的触发:我的VC

-:root=SVN:. 
+:Client/** 
+:Library/** 

我使用Subversion如果将有助于配置。

回答

1

有一个VCS根目录,但配置签出规则而不是VCS触发器。如果编辑构建配置并进入VCS设置,请选择“查看结帐规则”。对于第一个项目输入:

+:Web/** 
+:Library/** 

这将意味着构建不知道任何有关/客户端,并且不能告诉您有任何正在进行的更改。如果进行此更改,则不再需要限制VCS触发器,因为它将被预过滤为仅查看这些文件夹。

您需要对第二个构建配置进行类似的更改以实现相同。

+0

结帐规则适用于整个VCS根目录,因此更改一个会影响两个项目。然而,凭借结账过程的知识,我决定使用2根具有配置的结帐规则的按钮,现在按照我所需的方式正常工作。虽然不是直接的答案,但它确实让我找到了解决方案,所以给你加分。 – Perry 2014-09-03 08:53:43

0

为什么你有单个VCS根目录?您可以轻松拥有多个VCS根目录。

是否有VCS触发器设置,如果是,则应开始构建。您能否提供有关VCS根和VCS触发器的更多信息?