在Windows上的git插件命令从jenkins失败,成功的壳

我正在使用Git Plugin在我的Windows构build机器上安装Jenkins。 我正在使用networking驱动器Z上的目录:作为现在的git存储库。 我为存储库URLinput“z:\ my \ repo \ path”,得到:

Failed to connect to repository : Command "git.exe -c core.askpass=true ls-remote -hz:\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 -hz:\my\repo\path HEAD > 

什么可能是这个问题? 我甚至不知道从哪里开始。 我已经设置了PATHGIT_HOME系统环境variables,并重新启动了Jenkins,所以显然它find了可执行文件。

我已经试过了file:/// -style的path,结果也一样。


GIT_CURL_VERBOSE=1GIT_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'\''' 

我相信问题可能在于正确设置SSH密钥。

第一个建议 – UNC的回购路径

你可以尝试使用file:////格式的回购,而不是Windows路径?

如果是共享,请尝试使用git clone file:////<host>/<share>/<path>

请用这个作为参考。

第二个建议 – SSH密钥

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 *复制到此文件夹中,然后重试。