我们在Windows Server 2008 R2 Standard(TFS服务器)上有一个内部TFS 2013更新4, Git 版本 2.5.0.windows.1 。< / p>
我们的TFS构建过程使用InvokeProcess活动从批处理文件中调用Git。
这些是我们从批处理文件调用git(两行用于调试目的):
call git submodule init
call git submodule update
这是第二行给我一个问题,如下所示:
当我手动在服务器上运行相同的批处理文件时(即使是非管理员cmd.exe),所有文件都按预期执行,即我不会被提示输入任何用户名或密码。
我们目前正在使用wincred 作为我们的凭据助手,尝试过:
有趣的是,Microsoft.TeamFoundation.Build.Activities.Git.GitPull克隆超级项目没有问题,但是如果我要提示Git克隆并通过批处理文件提取,我会得到同样的&#34;致命:无法阅读密码&#34;错误。
不幸的是,我们没有选择升级到TFS 2015,其中加载子模块显然是勾选复选框的问题。在纯文本中包含用户名和密码作为命令的一部分也不是一种选择。
我需要尝试/做什么才能让Git使用wincred读取所需的密码? 所有的想法和建议将不胜感激......
答案 0 :(得分:2)
主要问题是我们的 TFS Build服务是在NETWORK SERVICE帐户下运行,而不是我输入密码的帐户。
我采取的解决方案步骤(作为使用TFS管理控制台的替代方案):
还有几点需要检查:
希望这可以帮助有同样问题的人!