我想ls在所有通过使用主机脚本控制台连接到主机的UNIX从机上运行相同的shell命令(像这样的非常简单的shell命令)。
ls
如何使用groovy做到这一点?
想要执行以下操作:显示有关节点 的信息,但不显示信息,而是要在每个从属服务器上运行一些简单的UNIX命令并打印结果。
import hudson.util.RemotingDiagnostics; print_ip = 'println InetAddress.localHost.hostAddress'; print_hostname = 'println InetAddress.localHost.canonicalHostName'; // here it is - the shell command, uname as example uname = 'def proc = "uname -a".execute(); proc.waitFor(); println proc.in.text'; for (slave in hudson.model.Hudson.instance.slaves) { println slave.name; println RemotingDiagnostics.executeGroovy(print_ip, slave.getChannel()); println RemotingDiagnostics.executeGroovy(print_hostname, slave.getChannel()); println RemotingDiagnostics.executeGroovy(uname, slave.getChannel()); }