-
Bug
-
Resolution: Fixed
-
Major
-
None
-
Git plugin 2.0, git client plugin 1.4.6, Windows 8, Windows Server 2011, Windows 7
A git job configured to use the command line implementation with Git plugin 2.0 and git client plugin 1.4.6 fails to clone on Windows, but successfully clones on Linux.
The problem seems to be that it is trying to configure an environment (setting SSH_PASS=echo) for the launched command, even though Windows does not use the same technique to pass environment variables to a process.
I think there was a different behavior in prior versions of git-client.
I created the job by:
- Configure a global ssh credential
- Create a new job, restrict it to only run on Windows
- Use a git ssh protocol URL (like ssh://wheezy64b/var/cache/git/mwaite/bin.git)
- Select the correct ssh credential from the dropdown list
- Add a build step (I used XShell "echo hello world")
- Save the job
- Run the job
Stack trace on Windows:
Started by user anonymous Building remotely on alan-pc in workspace C:\J\workspace\git-cli-ssh Cloning the remote Git repository Cloning repository ssh://wheezy64b/var/cache/git/mwaite/bin.git git --version git version 1.8.3.msysgit.0 using GIT_SSH to set credentials Jenkins ERROR: Error cloning remote repo 'origin' hudson.plugins.git.GitException: Could not clone ssh://wheezy64b/var/cache/git/mwaite/bin.git at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:310) at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:151) at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:144) at hudson.remoting.UserRequest.perform(UserRequest.java:118) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:326) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at hudson.remoting.Engine$1$1.run(Engine.java:63) at java.lang.Thread.run(Unknown Source) Caused by: hudson.plugins.git.GitException: Command "clone --progress -o origin ssh://wheezy64b/var/cache/git/mwaite/bin.git C:\J\workspace\git-cli-ssh" returned status code 128: stdout: Cloning into 'C:\J\workspace\git-cli-ssh'... stderr: error: cannot spawn C:\Users\Alan\AppData\Local\Temp\ssh3783977685963347919.exe: No such file or directory fatal: unable to fork at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:981) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:920) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$400(CliGitAPIImpl.java:64) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:308) ... 11 more ERROR: null Finished: FAILURE
- is duplicated by
-
JENKINS-44682 Builds fail as git push gets stuck
-
- Closed
-
This PR solves the issue I am having with windows and GIT_SSH: https://github.com/jenkinsci/git-client-plugin/pull/207