7

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

它可以工作,但是当它尝试构建默认分支“dev”时,teamcity 将其命名为<default>.

在此处输入图像描述

如何解决?

4

2 回答 2

12

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

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

    +:refs/heads/(master)

    +:refs/heads/(release-*)

    +:refs/heads/(hotfix-*)

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

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

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

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

    echo ##teamcity[buildNumber '%%t%%']

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

希望这可以帮助某人。

于 2014-03-13T16:04:06.567 回答
0

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

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

于 2013-04-17T13:05:23.527 回答