我希望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的新手,所以我可能会遗漏一些明显的东西。我该如何勾选它?
答案 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