如何在TeamCity的VCS根目录之间切换

如何在TeamCity的VCS根目录之间切换,teamcity,Teamcity,在版本控制设置选项卡中,我可以添加多个VCS根。但是我如何指定使用哪一个呢 例如,我配置了两个VCS根-A和B 在第一个构建步骤中,我想从A部署代码,在第二个构建步骤中,我想从B部署代码 当我编辑Maven构建步骤时,我看不到如何在VCS根之间进行选择的任何选项 我该如何实现这一点?我不认为它们是这样工作的。添加两个VCS根时,将签出两个根中的代码。然后,您就可以在代码签出时访问它。因此,构建步骤A可以只使用一个根目录下的代码,而步骤B可以使用另一个根目录下的代码 如果希望将每个根目录中的代码放

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

例如,我配置了两个VCS根-AB

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

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


我该如何实现这一点?

我不认为它们是这样工作的。添加两个VCS根时,将签出两个根中的代码。然后,您就可以在代码签出时访问它。因此,构建步骤A可以只使用一个根目录下的代码,而步骤B可以使用另一个根目录下的代码

如果希望将每个根目录中的代码放在单独的文件夹中,则可以编辑该项目中根目录的签出规则,以执行以下操作:

+:. => RootA
这样代码就被签出到根签出目录中名为
RootA

您可以对另一个根执行类似的操作,以便两个根的代码都在单独的文件夹中,否则两个根都将被签出到根签出目录

例如:

rootaVCS包含此代码结构

SomeFolder
    SomeSubFolder
        pom.xml
AnotherFolder
SomeOtherFolder
    pom.xml
rootbvcs包含这个结构

SomeFolder
    SomeSubFolder
        pom.xml
AnotherFolder
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

但我如何告诉构建步骤A使用来自一个根的代码,并告诉构建步骤B使用来自另一个根的代码?在Maven Build步骤中如何执行此操作?如果步骤A是一个编译步骤,请告诉它从RootA vcsb签出的路径编译代码,但如何告诉Maven Build步骤从根A使用pom.xml?好的。现在对我来说更清楚了。但是如果我有这样的存储库结构:Repo 1:/root/pom.xml Repo 2:/root/pom.xml,结果是在一个目录中会有两个pom.xml。如何处理这个问题?是否可以告诉根A在一个目录中签出,而根B在另一个目录中签出?是的,请参见答案顶部附近的部分。对于每个根用户,您需要配置签出规则,以告知Teamcity将代码签出到子文件夹,如下所示:
+:。=>RootA