[英]How do I pass Branch Name to an MSBuild script in TeamCity?
我让TeamCity在多个Mercurial分支机构中构建配置。 作为构建过程的一部分,我想根据构建的分支命名一些输出。
我尝试使用$(TEAMCITY_BUILD_BRANCH)
来尝试从TeamCity获取teamcity.build.branch
属性,但我只得到一个空字符串。 我成功地使用$(BUILD_NUMBER)
将build.number
属性添加到脚本中,所以我对所需内容有点困惑。
只需创建一个构建参数:
system.branch_name = %teamcity.build.vcs.branch.Your_Project%
项目名称中的任何非字母数字字符都应替换为“_”。 在你的msbuild中使用$(branch_name)
来引用参数。
像魅力一样工作:-)
$(vcsroot_url)如果您只有一个vcs root连接到构建配置。
如果这不是您想要的 - 尝试使用此处描述的所有已知属性: http : //confluence.jetbrains.net/display/TCD7/Predefined+Build+Parameters
仅供参考的服务器属性:
通过将system.teamcity.debug.dump.parameters属性添加到构建配置并检查构建日志中的“可用的仅引用服务器属性”部分,可以获得完整的仅引用服务器属性集。
UPD:你也可以查看这个“什么是新的”链接 。
VCS分支参数对于Git和Mercurial,TeamCity提供了额外的构建参数,其中包含在构建开始时已知的VCS分支的名称。 如果构建从refs / heads / bugfix分支进行修订,TeamCity将添加具有以下名称的配置参数:teamcity.build.vcs.branch。<简化的VCS根名称> = refs / heads / bugfix
VCS根目录的名称在哪里,其中所有非字母数字字符都替换为_。
根据这个 - 您应该能够访问分支,如下面的msbuild变量$(teamcity_build_vcs_branch_)。
希望这次我能正确理解你的问题。
PS:很抱歉最初的误导 - 我不知道TeamCity中DVCS和CVCS之间的细微差别。 无论如何 - 我最初的答案也可以帮助你 - 你可以获得所有变量,然后找到你想要的正确数据的确切var名称
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.