从主节点脚本控制台运行,或者从系统groovy脚本(也在主服务器上运行)运行,如何获取从属节点的ip地址?

最佳答案

我希望这个简单的脚本就足够了:

import java.net.*

for (slave in Jenkins.instance.slaves) {
  host = slave.computer.hostName
  addr = InetAddress.getAllByName(host)
  println slave.name + ": " + addr.hostAddress
}


但是至少在我的安装中,它不能为我提供具有多个网络接口的系统上想要的结果。

您可以使用the answer to "How to execute system command on remote node"中的“在从属服务器上运行命令”技术在每个从属服务器上运行类似/sbin/ifconfig的内容。这肯定会为您提供详细信息,但是我没有Groovy的精通技巧来编写输出解析器以提取IP。

10-08 18:32