在Jenkins中按顺序运行shell脚本命令

时间:2017-04-11 22:43:15

标签: bash shell jenkins ssh

在Jenkins中,我创建了一个运行许多shell脚本命令的作业:

command1
command2
...etc

command1是一个ssh命令,用于调用另一台服务器计算机上的shell脚本文件。我必须等到它完成后,command2应该来了。

那么,如何在Jenkins作业中启动下一个命令(command1)时,如何确保command2启动的另一台机器上的脚本文件已完成其作业?

或者,或者,如何在其他计算机上的shell脚本(由command2启动)完成后才能确保command1不会启动?

1 个答案:

答案 0 :(得分:0)

您可以查看" How to send many commands to shell and wait for the command behind ends"为了链接命令并等待它们完成。

当您通过ssh会话执行命令时,可能必须将该命令包装在能够循环/等待命令完成的脚本中。
请参阅" How can I make ssh wait until the command exits?"中的示例 或者(一个更简单的包装纸):How do I know when a command run over ssh has finished?

#/bin/bash
$@ 
echo "==== Command Output Finished ===="
  

在I / O例程中查找字符串==== Command Output Finished ====,以确定命令输出之间的边界。   或者您可以尝试在自己的Jenkins shell构建步骤中隔离这些命令   (不是一个不同的工作,只是同一工作中的不同构建步骤)