我正在为TeamCity设置使用FAKE构建一些构建脚本。我的构建的一部分需要我访问teamcity.build.branch
参数,但是,因为它不是一个环境变量,我不确定如何访问它。
我试过将%teamcity.build.branch%
添加到TeamCity的环境变量中,但它似乎不喜欢。我也不能使用FAKE git模块访问它,因为team city代理不使用git来获取项目文件,TeamCity将其交给他们。
我该如何通过我的FAKE脚本获得teamcity.build.branch
参数?理想情况下,我希望它作为一个环境变量,所以我可以直接从脚本中挑选它,但我是开放的任何其他想法。
尝试在构建步骤中传递%teamcity.build.branch%
作为参数
我从@Nadeem的回答中得到了一点帮助。
我现在有我的build.bat/cmd文件接受一个参数,然后我传递到我的Fake.exe调用,像这样:
"packagesFAKEtoolsFake.exe" build.fsx branch=%1
然后在我的FAKE代码中,我使用getBuildParamOrDefault "branch" <default branch here>
.
然后我使用这个作为分支名称。我还使用了一个字符串分割的构建参数,因为它通常是在ref/head/<branch name>
的格式,我只想要分支名称。
我还必须通过%teamcity.build.vcs.branch.<project>%
而不是%teamcity.build.branch%
,因为我的代理不喜欢隐含的要求。我不完全确定为什么会这样,但现在一切都很好。