【发布时间】:2016-06-09 17:32:59
【问题描述】:
在版本控制设置选项卡中,我可以添加多个VCS Roots。但是如何指定使用哪一个呢?
例如,我配置了两个 VCS Root - A 和 B。
在第一个构建步骤中,我想从 A 部署代码,在第二个构建步骤中,我想从 B 部署代码。
当我编辑 Maven 构建步骤时,我看不到任何如何在 VCS 根之间进行选择的选项。
我该如何实现?
【问题讨论】:
标签: teamcity
在版本控制设置选项卡中,我可以添加多个VCS Roots。但是如何指定使用哪一个呢?
例如,我配置了两个 VCS Root - A 和 B。
在第一个构建步骤中,我想从 A 部署代码,在第二个构建步骤中,我想从 B 部署代码。
当我编辑 Maven 构建步骤时,我看不到任何如何在 VCS 根之间进行选择的选项。
我该如何实现?
【问题讨论】:
标签: teamcity
我不认为这就是他们的工作方式。当您添加两个 VCS 根时,将检出两个根中的代码。然后,您可以在签出时访问代码。所以构建步骤 A 可以只使用一个根的代码和另一个根的步骤 B。
如果您希望将每个根目录中的代码放在单独的文件夹中,那么您可以编辑该项目中根目录的签出规则以执行以下操作:
+:. => RootA
以便将代码签出到名为 RootA 的根签出目录的子文件夹中
你可以对另一个根做类似的事情,这样两个根的代码都在不同的文件夹中,否则它们都将被检出到根检出目录
例子:
RootA vcs 包含此代码结构
SomeFolder
SomeSubFolder
pom.xml
AnotherFolder
RootB vcs 包含这个结构
SomeOtherFolder
pom.xml
当您有一个同时具有 vcs A 和 B 的项目时,TeamCity 会检查这个:
RootCheckoutDir
SomeFolder
SomeSubFolder
pom.xml
AnotherFolder
SomeOtherFolder
pom.xml
因此,在您的构建步骤中,您必须为步骤 A 提供路径
RootCheckoutDir\SomeFolder\SomeSubFolder\pom.xml
并在您的其他步骤中提供此路径
RootCheckoutDir\SomeOtherFolder\pom.xml
【讨论】:
+:. => RootA