Jenkins:通过SSH发布到多个主机,无需复制/粘贴

我使用Jenkins的“通过SSH插件发布”将相同的一组文件传输到一组主机,然后在那里运行一个小脚本。 然而,使用“添加服务器”function要求我为每个附加服务器重复源文件,远程目录和exec命令。

https://wiki.jenkins.io/display/JENKINS/Publish+Over+SSH+Plugin

我正在寻找的是一种指定一个ssh服务器列表的方法,插件应该被执行,最好是并行的,尽pipe服务器的数量(4-12)对于一个顺序stream也是足够小的。

一些项目的具体情况:

  • 发布任务是将JMeter服务器传输到多个负载生成器并在那里启动
  • 它现在是“构build环境”部分的一部分,因为实际构build是JMeter场景的执行。 如果将这些步骤中的任何一个移到不同的部分更有意义,我对此表示欢迎。

预先感谢您的build议。

你也可以configuration一个“Execute shell”块并在那里运行:

#!/bin/bash LISTFILE="servers.list" for server in $(cat $LISTFILE); do pssh -i -p $SESSIONS -O ConnectTimeout=$TIMEOUT -h $LISTFILE "$COMMANDS" done 

pssh是一个免费的并行SSH客户端,更多的信息可以在这里find。