2016-10-14 93 views
2

所有,SSH从詹金斯和运行shell服务器命令

我试图通过詹金斯运行一个远程服务器上的多个shell命令

我曾尝试下面的代码执行shell,插件 须藤苏

ssh -o StrictHostKeyChecking=no -i /home/ec2-user/card.pem [email protected] cat /home/ec2-user/testfile.txt 

这个问题我只能运行一个命令,超过1我需要运行 须藤苏

ssh -o StrictHostKeyChecking=no -i /home/ec2-user/card.pem [email protected] cat /home/ec2-user/testfile.txt 
ssh -o StrictHostKeyChecking=no -i /home/ec2-user/card.pem [email protected] rm -rf /home/ec2-user/testfile.txt 

我们如何才能实现像这样运行多个命令?

回答

0

可你只是做:

ssh -o StrictHostKeyChecking=no -i /home/ec2-user/card.pem [email protected] "cat /home/ec2-user/testfile.txt; rm -rf /home/ec2-user/testfile.txt" 
+0

恐怕它不会对管道@Peter麦克纳布工作,第二个命令将运行jenkins不在远程主机上。 – sshepel

0

嘿@斯拉吉赛义德检查下面的例子:

String commandToRun = 'cat /home/ec2-user/testfile.txt; rm -rf /home/ec2-user/testfile.txt' 

// pipeline step 
sh "ssh -o StrictHostKeyChecking=no -i /home/ec2-user/card.pem [email protected] /bin/bash -c '\"${commandToRun}\"'"