繁体   English   中英

如何将Branch Name传递给TeamCity中的MSBuild脚本?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM