从主节点脚本控制台运行,或者从系统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。