Teamcity - 为代理端结账执行Git Fetch

时间:2016-07-26 03:58:58

标签: teamcity gitversion

我正在尝试从我的构建代理执行完整的git fetch,以便在TeamCity中使用GitVersion

我选择在TeamCity中使用代理商结帐选项,按照http://gitversion.readthedocs.io/en/latest/build-server-support/build-server/teamcity/#agent-checkout

但是,当我在代理上执行结帐时,我无法获得分支的完整git历史记录。我得到的结果与此相同:https://github.com/GitTools/GitVersion/issues/912 - 具体来说:

  

System.InvalidOperationException:找不到' develop'或者'主人'分支,既不是本地也不是远程。

我猜这是因为TeamCity只检查了回购历史的一个子集。

Github问题的解决方法是在每次构建开始时执行git fetch命令。这是TeamCity可以原生支持作为VCS根目录的一部分吗?

提前致谢

2 个答案:

答案 0 :(得分:0)

在TeamCity上运行时,是否可以显示要传递给GitVersion的命令行参数?您是否指定了/output buildserver选项?启用此功能后,GitVersion将执行分支规范化过程,以确保从存储库中提取所有必需的分支。

答案 1 :(得分:0)

TeamCity可以从v2017开始获取所有头像TeamCity,但是需要通过配置设置启用。

您可以配置Git插件以通过adding a build configuration parameter来获取所有磁头:

teamcity.git.fetchAllHeads=true.

有关更多详细信息,请参见此处: