【问题标题】:Trigger Snapshot Dependency to Build Specific Branch in TeamCity触发快照依赖以在 TeamCity 中构建特定分支
【发布时间】:2014-07-08 18:46:31
【问题描述】:

假设我有一个项目 Foo 配置了 Git VCS 根,默认分支 feature/foo。我想对项目 Bar 有一个快照依赖项,该项目是在与 Foo 相同的存储库上对每个功能分支进行单元测试(即 的 VCS 根Bar 没有默认分支,而是在观看feature/*)。

我看到的情况是 Foo 只能在 Bar's <default> 分支上触发构建。我可以更改它以便为正确的分支触发 Bar 吗?

【问题讨论】:

    标签: git branch teamcity snapshot teamcity-8.0


    【解决方案1】:

    在 TeamCity 中没有默认分支就无法配置 VCS 根(请参阅相关问题 http://youtrack.jetbrains.com/issue/TW-23395)。因此,如果您没有为 Bar 构建配置定义默认分支,它将默认设置为 master。如果你使用默认分支触发构建,所有依赖项也将使用默认分支触发。

    解决方案是为 Foo 配置与 Bar (feature/*) 配置相同的分支规范。如果您手动运行 Foo 构建,则需要使用运行自定义对话框(更改选项卡)选择所需的分支,如果您使用 VCS 触发器运行构建,则需要配置分支过滤器。

    【讨论】:

    • 我的错误,Bar's 默认设置为develop。因此,如果 Foo 上的默认运行将始终 启动 Bar 上的默认运行,有没有办法阻止用户启动默认在 Foo 上运行?
    • 目前我可以建议comment 中描述的解决方法。相反,您可以检查此参数 teamcity.build.branch.is_default=true。