我正在使用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 >
什么可能是这个问题? 我甚至不知道从哪里开始。 我已经设置了PATH
和GIT_HOME
系统环境variables,并重新启动了Jenkins,所以显然它find了可执行文件。
我已经试过了file:///
-style的path,结果也一样。
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'\'''
我相信问题可能在于正确设置SSH密钥。
你可以尝试使用file:////
格式的回购,而不是Windows路径?
如果是共享,请尝试使用git clone file:////<host>/<share>/<path>
。
请用这个作为参考。
从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 *复制到此文件夹中,然后重试。