如何在`build.cake`中访问Team City参数?

时间:2018-04-05 16:02:11

标签: teamcity

我希望build.cake中的部分目标路径基于正在构建的分支。我build.cake脚本的顶部显示:

var branch = Argument("branch", "Master");

我修改了Team City Build步骤以包含

.\build.ps1 ... -Branch %teamcity.build.branch% 

但是Team City抱怨我没有合格的代理人

  

隐式要求:在构建步骤中定义的teamcity.build.branch:   构建

我是TC和Cake的新手,所以我可能会遗漏一些明显的东西。我该如何勾选它?

1 个答案:

答案 0 :(得分:1)

您是正确的%teamcity.build.branch%将授予您对分支机构名称的访问权限。但是,除非您的VCS根设置中有分支规范,否则此变量为空。要使用说master作为build.branch参数,您需要将+:refs/heads/(master)添加到您的分支规范中。无论parens之间的任何内容都将放在build.branch变量中。如果您可能从多个分支构建,则可能具有以下内容:

+:refs/heads/Release/(765/1.0)
+:refs/heads/Release/*

这将为您的build.branch提供Release/之后在git中显示的分支名称。

另见Johan的回答:https://stackoverflow.com/a/27829516/6222375