【问题标题】:Treating 'master' and 'refs/heads/master' as the same branch in TeamCity将“master”和“refs/heads/master”视为 TeamCity 中的同一分支
【发布时间】:2013-12-25 23:15:51
【问题描述】:

使用 github 和 teamcity,构建似乎是 refs/heads/mastermaster 分支。

每当 github 服务挂钩启动构建时,它就位于分支 master

每当 TeamCity 启动构建时(例如,当我开始构建时,或依赖项构建触发构建时),分支都是 refs/heads/master

这会导致在同一页面上显示两个内部版本号,最后一个版本号用于master,最后一个版本号用于refs/heads/master

有没有办法让 TeamCity 触发的构建构建 master 而不是 refs/heads/master

或者有没有办法让masterrefs/heads/master 被视为同一个分支,而不是不同的分支?

【问题讨论】:

  • confluence.jetbrains.com/display/TCD7/… 中提到的“构建中的分支标签”有什么帮助吗?
  • 我看了看,并尝试将+:refs/heads/(master) 添加到分支规范中。不幸的是,它只是显示了两个“主”分支,而不是合并它们。
  • 我认为这可能确实有效,我还必须做一些其他事情,并删除所有旧版本,但这有助于@VonC​​pan>

标签: git github teamcity teamcity-8.0


【解决方案1】:

我想我找到了解决方案,尽管它并不理想,因为我必须删除所有通过的构建。

我必须先复制项目并删除旧项目以摆脱所有已运行的构建。

然后我将默认分支配置为master。我将其他分支规范设置为:

+:(master)
+:refs/heads/(master)

另外,我更新了 VSC 触发器以监听 +:master 而不是 +:*

然后我通过手动触发构建进行测试,并让 github 测试挂钩触发构建。它似乎奏效了,它们都归入master

【讨论】:

  • 没有+:(master) 也能正常工作。我将默认分支设置为master,并将+:refs/heads/(master) 添加到其他分支规范中。 (团队城市 8.1.5)
  • 这个答案真的很有帮助。我想补充一点,您可以像这样添加格式:+:refs/heads/(release/*) 这种方式在 TC 中您会看到 release/1.0
  • JetBrains 解释了为什么这是必要的:youtrack.jetbrains.com/issue/TW-51478 -- 我觉得这值得一些更明确的文档...
猜你喜欢
  • 1970-01-01
  • 2018-12-25
  • 1970-01-01
  • 2016-06-24
  • 2012-06-29
  • 1970-01-01
  • 2012-02-17
  • 2015-11-20
  • 2011-06-20
相关资源
最近更新 更多