小编典典

通过Masters的脚本控制台在所有Jenkins从站上运行远程命令

jenkins

我想ls在所有通过使用主机脚本控制台连接到主机的UNIX从机上运行相同的shell命令(像这样的非常简单的shell命令)。

如何使用groovy做到这一点?

想要执行以下操作:显示有关节点
的信息,但不显示信息,而是要在每个从属服务器上运行一些简单的UNIX命令并打印结果。


阅读 368

收藏
2020-07-25

共1个答案

小编典典

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());
}
2020-07-25