gpt4 book ai didi

windows - TFS 构建期间的 Git 操作 : "fatal: could not read Password" (wincred used)

转载 作者:可可西里 更新时间:2023-11-01 11:50:01 26 4
gpt4 key购买 nike

我们在 Windows Server 2008 R2 Standard(TFS 服务器)上有一个内部 TFS 2013 update 4,Git 版本 2.5.0.windows.1

我们的 TFS 构建过程使用 InvokeProcess 事件从批处理文件调用 Git。

这些是我们从批处理文件中对 git 的调用(出于调试目的分为两行):

call git submodule init
call git submodule update

是第二行给我出了问题,如下图:

enter image description here

当我在服务器上手动运行相同的批处理文件时(即使是从非管理员 cmd.exe),所有的都按预期执行,即我没有提示输入任何用户名或密码。。 p>

我们目前正在使用 wincred 作为我们的凭据助手,已经尝试过:

有趣的是,Microsoft.TeamFoundation.Build.Activities.Git.GitPull 克隆 super 项目没有问题,但如果我提示 Git 通过批处理文件克隆和 pull ,我会得到同样的“致命:无法读取密码”错误。

不幸的是,我们没有升级到 TFS 2015 的选项,其中加载子模块显然是勾选复选框的问题。将用户名和密码作为纯文本命令的一部分也不是一个选项。

我需要尝试/做什么才能让 Git 使用 wincred 读取所需的密码?所有的想法和建议将不胜感激......

最佳答案

主要问题是我们的 TFS Build 服务在 NETWORK SERVICE 帐户下运行,而不是我输入密码的帐户。

我针对解决方案采取的步骤(作为使用 TFS 管理控制台的替代方法):

  1. 在 TFS 服务器上,进入服务 (services.msc),然后在“服务(本地)”中找到“Visual Studio Team Foundation Build Service Host 2013”服务。
  2. 右键单击该服务,然后在“常规”选项卡上单击“停止”
  3. 在“登录”选项卡上,选择“此帐户”并输入您使用 wincred 验证的帐户的详细信息(假定此帐户存在于“项目集合构建服务帐户”下并且拥有您的所有必需权限 repo )。
  4. 记下点击“检查姓名”后显示的电子邮件地址。
  5. 点击“应用”
  6. 返回“常规”选项卡,点击“开始”。
  7. 对“Visual Studio Team Foundation Background Job Agent”服务执行相同操作(我这样做是为了与构建服务保持一致)。

还有几点值得检查:

  • 在 TFS 服务器上的用户帐户目录中,确保您在第 4 步“检查名称”后看到的电子邮件地址与 .gitconfig 中 [user] 下“电子邮件”字段中使用的电子邮件地址相匹配。
  • 确保 wincred 在某个时候提示您输入凭据(我通过先运行“git config credential.helper store”,然后运行“git config credential.helper wincred”来做到这一点(如果您想执行“git config < strong>--global credential.helper store”,然后是“git config --global credential.helper wincred”,然后你需要以提升的权限运行你的 cmd.exe ).
  • 在我的例子中,正确保存的凭据如下所示(在凭据管理器中的“通用凭据”下)- 注意没有用户名:

enter image description here

希望这对遇到同样问题的人有所帮助!

关于windows - TFS 构建期间的 Git 操作 : "fatal: could not read Password" (wincred used),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32184288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com