FAKE获得TeamCity构建分支

时间:2015-09-30 11:11:38

标签: f# teamcity f#-fake

我正在使用FAKE为TeamCity设置构建一些构建脚本。我的部分构建要求我访问teamcity.build.branch参数,但是因为它不是环境变量,所以我不确定如何访问它。

我尝试将%teamcity.build.branch%添加到TeamCity中的环境变量中,但似乎并不喜欢这样。我也无法使用FAKE git模块访问它,因为团队城市代理不使用git来获取项目文件,TeamCity将它交给他们。

如何将teamcity.build.branch参数传递给我的FAKE脚本?理想情况下,我喜欢它作为一个环境变量,所以我可以直接在脚本中提取它,但我对任何其他想法持开放态度。

2 个答案:

答案 0 :(得分:1)

尝试在构建步骤中将%teamcity.build.branch%作为参数传递。

答案 1 :(得分:0)

我在@ Nadeem的回答中得到了一些帮助。

我现在让我的build.bat / cmd文件接收一个参数,然后将其传递给我的Fake.exe调用,如下所示:

"packages\FAKE\tools\Fake.exe" build.fsx branch=%1

然后在我的假码中使用getBuildParamOrDefault "branch" <default branch here>

然后我将其用作分支名称。我还在构建参数上使用字符串拆分,因为它通常采用ref/head/<branch name>格式,我只想要分支名称。

我还必须传递%teamcity.build.vcs.branch.<project>%而不是%teamcity.build.branch%,因为我的代理人并不喜欢隐含的要求。我不完全确定为什么会这样,但现在一切都运转良好。