如何在 TeamCity 中的 VCS Root 之间切换

How to switch between VCS Roots in TeamCity

版本控制设置选项卡中我可以添加多个VCS Roots。但是我该如何指定使用哪一个呢?

例如我配置了两个 VCS Roots - AB.

在第一个构建步骤中,我想从 A 部署代码,在第二个构建步骤中,我想从 B 部署代码.

当我编辑 Maven 构建步骤时,我没有看到任何如何在 VCS 根之间进行选择的选项。

我该如何实现?

我不认为这是他们的工作方式。当您添加两个 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