【问题标题】:Configure TeamCity to build from branches将 TeamCity 配置为从分支构建
【发布时间】:2014-01-03 11:50:43
【问题描述】:

我在 TFS + TeamCity (TC) 中有 C# 项目。现在我有标签 1.0、trunk 2.0 和 TC 为 2.0 构建配置。

我需要从标签启用 1.0 构建(以及未来的标签 2.0、3.0 等)。

我已经创建了具有所有必要配置的通用 TC 项目 MyProject。现在我添加了子项目“1.0 发布早午餐”。我将从根项目复制所有配置+更改该配置的VCS根。当我必须制作标签 2.0 时,我将创建子项目“2.0 发布早午餐”并将所有根配置复制到该子项目并更改 VCS 根。

这是支持以前项目的正常步骤吗?我应该使用配置模板还是什么?每个项目包含 5 个以上的配置来构建 CI 和具有所有更改、E2E 测试等的完整版本构建。所以这不仅仅是将配置复制到子项目并更改 VCS 根目录。这似乎将是每个项目的调整。我想尽可能地自动化。

【问题讨论】:

    标签: teamcity


    【解决方案1】:

    处理这种情况的一种方法是创建单个构建配置并在 VCS 主干中使用参数。所以不要使用 VCS 的根目录

    https://server/svn/MyProject/trunk/
    

    你会改为使用

    https://server/svn/MyProject/%TagPath%/
    

    然后在 TeamCity 构建配置中创建一个名为 TagPath 的配置参数,并将其值设置为 trunktags/1.0 或其他任何值。

    无论您如何执行此操作,都需要注意的一个警告是,如果您的构建过程在未来发生变化,您将遇到问题,在这种情况下,您最终可能会创建单独的“旧”和“新”构建配置.

    【讨论】:

      【解决方案2】:

      您可以为此使用构建配置模板。您可以在根项目级别创建模板,然后将其用于子项目。

      查看下面链接中的“重新定义从模板继承的设置”部分,了解如何使用参数更改子项目级别的值。

      http://confluence.jetbrains.com/display/TCD8/Build+Configuration+Template

      【讨论】: