我正在尝试从我的构建代理执行完整的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根目录的一部分吗?
提前致谢
答案 0 :(得分:0)
在TeamCity上运行时,是否可以显示要传递给GitVersion的命令行参数?您是否指定了/output buildserver
选项?启用此功能后,GitVersion将执行分支规范化过程,以确保从存储库中提取所有必需的分支。
答案 1 :(得分:0)
TeamCity可以从v2017开始获取所有头像TeamCity,但是需要通过配置设置启用。
您可以配置Git插件以通过adding a build configuration parameter来获取所有磁头:
teamcity.git.fetchAllHeads=true.
有关更多详细信息,请参见此处: