【发布时间】:2016-07-26 03:58:57
【问题描述】:
我正在尝试从我的构建代理执行完整的git fetch,以便在 TeamCity 中使用GitVersion。
根据http://gitversion.readthedocs.io/en/latest/build-server-support/build-server/teamcity/#agent-checkout,我已选择在 TeamCity 中使用代理结帐选项
但是,当我在代理上执行结帐时,我无法获取分支的完整 git 历史记录。我得到与此相同的结果:https://github.com/GitTools/GitVersion/issues/912 - 具体来说:
System.InvalidOperationException:在本地和远程都找不到“开发”或“主”分支。
我的猜测是,这是因为 TeamCity 只检查了回购历史的一个子集。
Github 问题有一个解决方法,即在每次构建开始时执行 git fetch 命令。这是 TeamCity 可以作为 VCS 根的一部分本机支持的东西吗?
提前致谢
【问题讨论】:
-
有人解决这个问题了吗?是的,我正在指定 /output buildserver 选项。它永远不会发生在原始构建服务器上,只会发生在我刚刚启动的新构建代理上。如果重要的话,原来的那个和 TeamCity 在同一台机器上运行。如果重要的话,运行 Team City 版本 2017.2.3(内部版本 51047)。
-
如果我去那个构建目录并输入 git fetch --all 然后运行 gitversion 它可以正常工作,但是,因为我们在新构建中删除了文件夹,这并不能解决问题- 除非我们想将它作为构建步骤添加到我们拥有的每个项目中!显然,另一个构建服务器有这个所缺少的东西。
-
在新的构建服务器上运行最新的 gitversion: 4.0.0+Branch.master.Sha.e715eb5dd515037d90a257f527e62442cae8c1c5 。在旧的构建服务器上,它是 /version 工作之前的版本。
-
根据 Chocolatey(choco 版本 gitversion),它们都是 1.0.0.1,所以很明显,它们功能不同的事实很奇怪..
标签: teamcity gitversion