我有以下ssh脚本,我试图由Jenkins执行,当我从shell调用它时运行正常。
#ssh to remote machine
sshpass ssh 10.40.94.36 -l root -o StrictHostKeyChecking=no
#Remove old slave.jar
rm -f slave.jar
#download slave.jar to that machine
wget http://10.40.95.14:8080/jnlpJars/slave.jar
pwd
#make new dir to that machine
mkdir //var//Jenkins
# make slave online
java -jar slave.jar -jnlpUrl http://10.40.95.14:8080/computer/nodeV/slave-agent.jnlp
当我通过shell执行此脚本时,它会将jar文件下载到远程计算机,并创建一个新目录。但是当我通过jenkins的shell插件调用它时,每个命令都是单独运行的。所以jar会在master下载,而目录也会在master中创建。
此外,我使用sshpass进行无密码自动登录,有时会失败。还有其他办法吗?