jenkinsci / jenkinsci/git-client-plugin
[JENKINS-71122] incorrect assumption in search for ssh on Windows
- Dominant language
- Java
- Stars
- 152
- Forks
- 402
- Avg merge
- 6h 47m
- Merged PRs (30d)
- 4
Description
the git client tries to obtain the location for SSH but fails if the ssh client is not installed with the official git plugin, or uses an incorrect ssh binary if ssh.exe is otherwise on the path.
This has multiple implications:
1) it just fails outright as it can not find ssh.exe despite it being on the path (C:\Windows\System32\OpenSSH\ssh.exe})
2) it may pick the incorrect the ssh.exe binary which may not be correctly integrated with the windows os to load certificates etc thus having different behaviour between the git plugin in jenkins and running the same commands on the command line directly as the Jenkins user.
```
2023-04-21 18:04:28.777+0000 [id=109] WARNING o.e.j.s.h.ContextHandler$Context#log: Error while serving http://192.168.48.1:60095/job/vague_monarchy/descriptorByName/hudson.plugins.git.UserRemoteConfig/checkUrl
java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getSSHExecutable(CliGitAPIImpl.java:2587)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.createWindowsGitSSH(CliGitAPIImpl.java:2593)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2047)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2007)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1998)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getHeadRev(CliGitAPIImpl.java:3646)
```
---
Originally reported by
teilo, imported from: incorrect assumption in search for ssh on Windows
markewaite
Raw content of original issue
the git client tries to obtain the location for SSH but fails if the ssh client is not installed with the official git plugin, or uses an incorrect ssh binary if ssh.exe is otherwise on the path.
This has multiple implications:
1) it just fails outright as it can not find ssh.exe despite it being on the path (C:\Windows\System32\OpenSSH\ssh.exe})
2) it may pick the incorrect the ssh.exe binary which may not be correctly integrated with the windows os to load certificates etc thus having different behaviour between the git plugin in jenkins and running the same commands on the command line directly as the Jenkins user.2023-04-21 18:04:28.777+0000 [id=109] WARNING o.e.j.s.h.ContextHandler$Context#log: Error while serving http://192.168.48.1:60095/job/vague_monarchy/descriptorByName/hudson.plugins.git.UserRemoteConfig/checkUrl
java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getSSHExecutable(CliGitAPIImpl.java:2587)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.createWindowsGitSSH(CliGitAPIImpl.java:2593)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2047)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2007)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1998)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getHeadRev(CliGitAPIImpl.java:3646)
Contributor guide
Assessment
This issue has not been assessed yet.