Hi, I have a jenkins project whose "Execute shell" command consists of this:
set -e # Exit immediately if a simple command exits with a non-zero status set -x verbose export PKG="annotation" export SUFFIX="zip" ssh -o StrictHostKeyChecking=no -i $SSH_KEY jenk...@docbuilder.mydomain.org "rm -f ~/repository/$PKG/*.$SUFFIX" If I run this script manually on the windows box, it works fine. That ssh command looks syntactically valid to me (SSH_KEY is defined in the node config) but it fails in jenkins. Since I have verbosity turned on this is the command I see (along with its output) in the jenkins build output: + ssh -o StrictHostKeyChecking=no -i c:/jenkins/docbuilder jenk...@docbuilder.mydomain.org rm -f ~/repository/annotation/*.zip usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]] [user@]hostname [command] So it looks like the quotes in my command were somehow stripped. I think those quotes are needed in order for ssh to understand its arguments (otherwise the * is expanded before it gets to ssh, and so on). How can I fix that? I tried escaping the quotes with a backslash and then the command (when echoed) looked like this in the jenkins output: + ssh -o StrictHostKeyChecking=no -i c:/jenkins/docbuilder jenk...@docbuilder.mydomain.org "rm -f ~/repository/annotation/*.zip" usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]] [user@]hostname [command] So the quotes are now present but there is still something wrong with the command as seen by ssh. If I copy and paste that command directly into an sh window on the windows node (a cygwin terminal window where I have exported SSH_KEY), it works. Another thing I should mention is that I'm logged into the windows node as Administrator, but the jenkins slave is running as nt authority\system, a user who does not have the right to log on interactively. Any ideas? Thanks. -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.