【问题标题】:Unable to issue a git pull command from a VSTS Build Process task无法从 VSTS 构建过程任务发出 git pull 命令
【发布时间】:2018-07-11 11:51:06
【问题描述】:

构建代理上存在批处理文件 (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 阶段导致同样的错误。

构建代理机器本身上的 Git 已通过 VSTS 进行身份验证。似乎当第三方(构建作业)尝试在代理上运行命令时(通过在代理上创建 powershell 脚本并执行 powershell 脚本),命令然后失败。

对此有什么想法吗?

谢谢

【问题讨论】:

    标签: git build azure-devops pull-request


    【解决方案1】:

    主要思想是检查哪个用户正在运行powershell任务(当它被VSTS构建作业触发时)

    因为如果它在一种情况下工作而不是在另一种情况下工作,那么对于 HTTPS URL,git credential helper 在一种情况下会有所帮助。

    在两个实例中都执行git config credential.helper

    【讨论】:

    • 谢谢你们。 git pull username:password@company.visualstudio.com/areaName/_git/… master 工作,作为构建代理上的批处理文件中的命令,或者在构建代理任务中作为命令运行时
    • @David 好的,但这是一个带有明文密码的 HTTPS URL,因此绕过凭证助手。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 2018-04-21
    • 2023-03-14
    • 1970-01-01
    • 2013-09-19
    • 1970-01-01
    相关资源
    最近更新 更多