Jenkins 运行并行脚本

2024-01-15

我是詹金斯的新手,需要一些帮助..

我有 4 个 shell 脚本:test1.sh、test2.sh、test3.sh 和 test4.sh

我希望 test2.sh 仅在 test1.sh 成功运行时运行,而 test4.sh 仅在 test3.sh 成功运行时运行。 我还希望 test1.sh 和 test3.sh 并行运行。

我怎样才能在詹金斯中实现它?

我正在使用“使用 ssh 在远程主机上执行 shell 脚本”和“条件步骤(多个)”(只是探索)。我还设置了密钥以便与远程服务器进行通信。

使用屏幕截图或其他方式进行说明会很有帮助。

谢谢你!


首先,确保 test1.sh 和 test3.sh 在成功时返回标准成功代码 (0)。那么,适用于任何命令行(而不仅仅是 Jenkins)的简单方法是使用以下命令行:

((test1.sh && test2.sh) &) ; ((test3.sh && test4.sh) &)

每对括号形成一个子 shell,双 & 符号表示“如果第一个成功则运行第二个”,单 & 符号表示“在 backgorund 中运行”。因此,您将获得相当于两个后台 shell,每个 shell 运行两个脚本,如果第一个脚本不返回 0,则该 shell 将退出。

Jenkins 特定的解决方案是让一个节点具有两个(或更多)运行程序。创建两个作业,并将它们都绑定到该节点。每个作业运行一个 shell,或者test1.sh && test2.sh, or test3.sh && test4.sh.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jenkins 运行并行脚本 的相关文章

随机推荐