一个批处理文件(c:\ myBatchFile.bat)存在于生成代理上。运行批处理文件时,它将成功执行以下操作:
cd c:\myrepo
git pull
但是,当我告诉VSTS构建作业中的Powershell任务以运行c:\ myBatchFile.bat时,会发生以下错误:
error: failed to execute prompt script (exit code 255)
fatal: could not read Username for 'https://whatever.visualstudio.com': No error
注意:c:\ myrepo是VSTS作业所使用的生成源存储库的代名词。
同样,仅告诉VSTS构建作业powershell任务直接发出两个命令(cd c:\ myrepo和git pull),这会在git pull阶段导致相同的错误。
通过VSTS对构建代理机器本身上的Git进行身份验证。似乎当第三方(构建作业)尝试在代理上运行命令(通过在代理上创建powershell脚本并执行powershell脚本)时,该命令将失败。
对此有任何想法吗?
谢谢
答案 0 :(得分:0)
主要思想是检查哪个用户正在运行powershell任务(由VSTS构建作业触发时)
因为如果它在一种情况下而不在另一种情况下起作用,那么对于HTTPS URL来说,git credential helper的改变在一种情况下是有帮助的。
在两个实例中都执行git config credential.helper
。