使用GIT子模块构建的TFS 2013.4失败

时间:2014-11-17 09:52:55

标签: git tfsbuild tfs2013

我们刚刚将TFS更新为TFS 2013更新4(TFS2013.4),我们在我们的存储库中使用了GIT子模块(我们在构建服务器上使用了一些自定义的MSBUILD魔法更新)。

但是现在使用最新的更新,我们的构建都会失败并显示以下消息:

  

无法设置未知成员   'Microsoft.TeamFoundation.Build.Activities.Git.GitPull.CheckoutSubmodules'。

似乎微软已经为GIT子模块添加了某种支持,但它在我们的构建服务器上失败了。

有关如何解决此问题的任何想法?

2 个答案:

答案 0 :(得分:3)

这是由于我自己的愚蠢(大部分时间都是这样)。

我认为安装Visual Studio Update 4(VS2013.4)会为TFS使用的构建服务器安装相同的必需客户端库,但是我错了。

只需将TFS Build服务器更新为TFS2013.4即可解决问题。

编辑:解决的唯一问题是更新子模块的'hackety MSBUILD magic'再次运行,没有本机支持。

看起来像TFS服务器上的TFS2013.4和构建服务器上的TFS2013.2之间的不同版本导致无法获取repo的问题,无论是否有子模块。

由于问题中的错误导致相信,看起来构建服务器本身就开始支持子模块,但我无法使其工作。

编辑2:

对于那些要求使用hackety解决方案的人,我最终在构建服务用户的profile文件夹中使用了纯文本_netrc文件,如下所示:

machine <hostname1>
login <login1>

Git - How to use .netrc file on windows to save user and password

我还遇到了这样的问题:当TFS构建服务帐户在TFS构建的上下文中运行时,未设置HOME环境变量,因此我必须手动设置:

系统属性&gt;下的

环境变量

将系统变量HOME设置为%PROFILE%

答案 1 :(得分:1)

仅供参考,似乎子模块结账是针对TFS2015的...... 看看the image to configure a git build,有一个更新子模块的复选框..

相关问题