我怎么能覆盖 分行名称的TeamCity 7.1使用Git分支的支持?(How can I o

2019-07-31 06:39发布

我有一个CI构建从GitHub和建设拉动特征分支机构/包装他们到本地文件夹,使用基于项目,分支的文件夹命名约定和版本号。

对于命名分支(特征1,特征)这是伟大的工作。

的问题是,当我做提交到主,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

但最好我需要掌握在我的生成步骤teamcity.build.branch使用。

我可以在运行时转换参数? 覆盖这些行为? 我甚至试过设置的VCS分支的名称,希望能DO_NOT_USE说,“大师”将不再匹配默认 - 但这似乎并没有擦出火花。

Answer 1:

在TeamCity的7其根本%vcsroot.branch%返回发展。

在我来说,我有

%MajorVersion%.%MinorVersion%.%PatchVersion%-%vcsroot.branch%

这是在构建参数都设置。 数字格式为%BuildFormatSemVer%,这是在上面的东西和。 {0}

%BuildFormatSemVer%.{0}

返回

#1.0.0-develop.4


Answer 2:

不理想,但我可以通过创建git的一个新的分支命名为“TeamCity的”以及设置在TeamCity的默认分支,它似乎需要该分支实际存在解决它,因为它工作时,我所创建的分支,但是没有,当你刚刚进入一个假名字。

希望他们其实解决这个问题,因为这绝对是一个黑客。



Answer 3:

我们已经创建管道时遇到此问题多次。 试图自动生成功能,并释放使用Gitflow工作流程分支时它是最明显的。 我们已经能够做的是使用teamcity.build.vcs.branch.github_myproject和正则表达式sed消毒字符串,每当我们想使用它。 这主要是水印文物进行调试。

更大的问题,至少对我们来说,就是TeamCity的7.1.1版本并不会自动断火的依赖建立的任何东西,是不是在VCS根默认的构建。 显然,这是一个巨大的痛苦点作为我们现在将不得不手动单击工具。 我们还没有想出一个干净的方式来解决这个问题除了在混帐挂钩其中使用HTTP API来调出合适的构建步骤。



Answer 4:

我不知道这以前回答,或者是不再相关。

在TeamCity的10.0.2创建比如%Git.Reference%自定义参数。 如果您需要从TC拉(或推)与git,将其设置为“REF /头/开发”或“REF /头/ yourbranch”。 在您的VCS根“参考使用此功能。



文章来源: How can I override the branch name in TeamCity 7.1 using Git branching support?