如何在Groovy中使用Jenkins API获取Jenkins节点的ip

时间:2019-12-18 12:15:13

标签: jenkins groovy

我有以下Groovy脚本,由Jenkins管道作业调用:

import jenkins.model.Jenkins

def foo(){
    Jenkins.instance.getNode('bla').getComputer.disconnect()
}

检查Ref: Vuex Documentation on actions后,我无法找到一种方法来获取节点的IP。是否可以在jenkinsfile / groovy脚本中进行?

1 个答案:

答案 0 :(得分:0)

这最终对我有用。诀窍是从主服务器运行它(这样,所需的节点将不会被识别为“本地主机”

 def find_ip(node_name){
       for (slave in Jenkins.instance.slaves) {
           host = slave.computer.hostName
           addr = InetAddress.getAllByName(host)
           if (! slave.name.trim().equals(node_name.trim())) { continue }
           return host
       }
 }