如何使用Git分支支持覆盖TeamCity 7.1中的<default>分支名称?

Dyl*_*tie 17 teamcity continuous-integration git-branch teamcity-7.1

我有一个CI构建从Github拉出功能分支,并使用基于项目,分支和内部版本号的文件夹命名约定将它们构建/打包到本地文件夹中.

对于命名分支(feature1,feature2),这非常有用.

问题在于,当我对master进行提交时,TeamCity会将teamcity.build.branch公开为<default>- 这意味着当构建步骤扩展时

E:\Packages\MyProject\%teamcity.build.branch%\

它结束了E:\Packages\MyProject\<default>- 然后崩溃构建步骤,因为它不是有效的Windows路径.

可以在完全限定的构建参数中看到主分支名称:

teamcity.build.branch                         <default>
teamcity.build.checkoutDir                    C:\TeamCity\BuildAgents\agent-mulder\work\2151838a7933464d
teamcity.build.default.checkoutDir            2151838a7933464d
teamcity.build.id                             16347
teamcity.build.vcs.branch.github_myproject    refs/heads/master
Run Code Online (Sandbox Code Playgroud)

但理想情况下,我需要获得master作为teamcity.build.branch,以便在我的构建步骤中使用.

我可以在运行时转换参数吗?覆盖行为?我甚至尝试将VCS分支名称设置为DO_NOT_USE,希望"master"不再符合默认值 - 但这似乎也不起作用.

mar*_*101 3

并不理想,但我可以通过在 git 中创建一个名为“teamcity”的新分支并将其设置为 TeamCity 中的默认分支来解决这个问题,它似乎要求该分支实际存在,因为它在我创建分支时起作用,但当您输入假名时却没有。

希望他们能真正解决这个问题,因为这绝对是一个黑客行为。