FAKE 获取 TeamCity 构建分支

FAKE get TeamCity build branch

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

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

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

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

我在@Nadeem 的回答的帮助下弄明白了。

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

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

然后在我的 FAKE 代码中我使用了 getBuildParamOrDefault "branch" <default branch here>.

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

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