内部版本号中的分支名称

时间:2013-04-02 10:33:29

标签: git branch teamcity

我试图将分支名称放入内部版本号,但我无法找到正确的参数。 我使用内部版本号格式:%teamcity.build.branch%.{0}

可行,但在尝试构建默认分支&#39; dev&#39;时,teamcity将其命名为<default>

enter image description here

如何解决?

2 个答案:

答案 0 :(得分:11)

我能够通过以下方式解决这个问题:

  • 在我的VCS Root中 - 使用git - 将我的默认分支设置为:master
  • 在我的VCS Root中 - 使用git - 将我的分支规范设置为:

    +:参/头/(主)

    +:参/头/(释放 - *)

    +:参/头/(修补程序 - *)

  • 创建配置参数:BuildNumberPrefix = SomeService。%teamcity.build.branch%。release _

  • 将我的内部版本号格式设置为:%BuildNumberPrefix %% build.counter%

  • 然后在我的构建步骤中添加命令行步骤作为第一步,使用以下脚本:

    设置t =%BuildNumberPrefix %% build.counter%

    echo ## teamcity [buildNumber&#39; %% t %%&#39;]

在构建项目时的Team City项目列表中,您应该看到在执行命令行步骤后,构建编号的一部分将被删除。出于某种原因,重新评估使用teamcity.build.branch变量的BuildNumberPrefix会导致默认值消失并被分支名称替换。

希望这有助于某人。

答案 1 :(得分:0)

看看它是否有助于您解决问题。引用http://youtrack.jetbrains.com/issue/TW-24147的第一条评论:

  

我们使用特殊的分支名称(<default>)是有原因的:当有多个VCS根目录具有不同的默认分支时,我们需要一个分支名称用于构建。您可以从构建参数teamcity.build.vcs.branch。<canonical VCS root name>获取VCS根目录中使用的真实分支名称。搜索teamcity.build.vcs.branch。在UI中构建的“构建参数”选项卡上。