首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Git分支支持覆盖TeamCity 7.1中的<default>分支名称?

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

Stack Overflow用户
提问于 2012-08-30 19:11:06
回答 4查看 9.9K关注 0票数 17

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

对于命名分支(feature1、feature2),这非常有效。

问题是,当我向主服务器提交时,TeamCity将teamcity.build.branch公开为<default> -这意味着当构建步骤展开时

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

它以E:\Packages\MyProject\<default>结束--这会使构建步骤崩溃,因为它不是一个有效的Windows路径。

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

代码语言:javascript
复制
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,希望“主”不再与默认值匹配-但这似乎也不起作用。

EN

回答 4

Stack Overflow用户

发布于 2013-08-13 21:55:55

在teamcity 7中,返回开发的只是简单的%vcsroot.branch%。

在我的情况下,我有

代码语言:javascript
复制
%MajorVersion%.%MinorVersion%.%PatchVersion%-%vcsroot.branch%

它们都是在构建参数中设置的。数字格式是%BuildFormatSemVer%,这是上面和的内容。{0}

代码语言:javascript
复制
%BuildFormatSemVer%.{0}

它会返回

代码语言:javascript
复制
#1.0.0-develop.4
票数 4
EN

Stack Overflow用户

发布于 2012-09-09 16:36:39

不是很理想,但我可以通过在git中创建一个名为" TeamCity“的新分支并将其设置为TeamCity中的默认分支来解决它,它似乎要求分支确实存在,因为当我创建分支时它可以工作,但当你输入一个假名字时却没有。

希望他们真的解决了这个问题,因为这绝对是一个黑客攻击。

票数 3
EN

Stack Overflow用户

发布于 2013-04-10 22:18:09

在创建管道时,我们已经多次遇到这个问题。当试图使用Gitflow工作流自动构建功能分支和发布分支时,这一点最为明显。我们所能做的就是使用teamcity.build.vcs.branch.github_myprojectsed中的正则表达式在我们想要使用的时候清理字符串。这主要是为了调试目的而给工件添加水印。

更大的问题是,至少对我们来说,TeamCity 7.1.1版本不会自动为任何不是VCS根目录中的默认构建的内容启动依赖构建。显然,这是一个巨大的痛点,因为我们现在必须在工具中手动单击。除了git中的钩子之外,我们还没有想出一种干净的方法来绕过这个问题,这些钩子使用HTTP API调用正确的构建步骤。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12195563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档