我正在使用Git Plugin在我的Windows构建计算机上设置Jenkins。我正在使用网络驱动器Z上的目录:现在作为git存储库。我为存储库URL输入“z:\ my \ repo \ path”,我得到:
Failed to connect to repository : Command "git.exe -c core.askpass=true ls-remote -h z:\my\repo\path HEAD" returned status code 128:
stdout:
stderr: fatal: 'z:\my\repo\path' does not appear to be a git repository
fatal: Could not read from remote repository.
然而,如果我打开一个新的命令提示符并输入该命令,它可以正常工作(也没有输出):
> git.exe -c core.askpass=true ls-remote -h z:\my\repo\path HEAD
>
可能是什么问题?我甚至不知道从哪里开始。我已经设置了PATH
和GIT_HOME
系统环境变量并重新启动了Jenkins,所以很明显它找到了可执行文件。
我尝试了file:///
式的路径并获得了相同的结果。
输出GIT_CURL_VERBOSE=1
和GIT_TRACE=1
设置的手动命令:
15:43:24.905801 git.c:348 trace: built-in: git 'ls-remote' '-h' 'z:\\my\\repo\\path' 'HEAD'
15:43:24.905801 run-command.c:343 trace: run_command: 'git-upload-pack '\''z:\\my\\repo\\path'\'''
答案 0 :(得分:1)
我认为问题可能在于正确设置SSH密钥。
您可以尝试使用file:////
格式代替windows路径吗?
如果是分享,请尝试使用git clone file:////<host>/<share>/<path>
。
请使用this作为参考。
来自https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-: (虽然错误与你所拥有的不同)
有些窗户很有趣
如果你做了所有事情,你现在应该有一个〜/ .ssh文件夹 (例如,c:\ Users \ Bob.ssh),此文件夹包含您的密钥。 此时,您甚至可以手动(从控制台), 克隆你的存储库,但詹金斯一直在失败 这样:
代码128:克隆到C:\ Program Files \ Jenkins \ jobs \ PG3 \ workspace ... 致命: 远程端意外挂断了
如果遇到此问题,则可能需要复制id_rsa *文件 从你的〜./。ssh到另一个文件夹。找到你的git.exe并检查是否 那里有一个.ssh文件夹。如果是这样,请将〜。/ ssh / id_rsa *复制到此处 文件夹然后重试。