找到 Jenkins 节点的 IP 地址

一个通过“ JavaWebstart”连接到 Jenkins 服务器的 Windows 从节点。节点的系统信息没有它的 IP 地址。

我必须遍历我们所有的从节点,找出哪台机器(IP 地址)对应于 Jenkins 中的从节点。

有没有办法从 Jenkins 那里找到从节点的 IP 地址?

103148 次浏览

通过节点的脚本控制台(管好詹金斯-> 节点-> 选择一个节点-> 脚本控制台) ,我们可以执行 groovy 脚本。运行以下命令获取 IP 地址。

println InetAddress.localHost.canonicalHostName

对于一个没有窗户的詹金斯奴隶来说,回答同样的问题:

查 IP 地址:

println "ifconfig".execute().text

获取主机名:

println "hostname".execute().text

在你的詹金斯工作,如果它在 Groovy 或其他回应 ifonfig Sh“/sbin/ifconfig-a | grep inet”

找出 IP 的最 有效率平台独立的方法可能是以下 绝妙的代码的“全局”脚本控制台 在主人身上:

import hudson.model.Computer.ListPossibleNames


def node = jenkins.model.Jenkins.instance.getNode( "myslave" )
println node.computer.getChannel().call(new ListPossibleNames())

在控制台中,这会产生(例如)

Result
[192.168.0.17]

结果是一个字符串列表,因为一台计算机上可能有多个 IP 地址。

因为这不需要 特定节点控制台,很容易在覆盖 < em > all 节点的代码周围添加一个循环

要获取 Windows 从服务器上的 IP 地址:

导航到脚本控制台(管好詹金斯-> 节点-> 选择一个节点-> 脚本控制台)

println "ipconfig".execute().text

也可以通过 Jenkins 的用户界面找到: 管理 Jenkins —— > 管理节点—— > 单击节点名—— > 配置

这应该同时显示该节点的公共和私有 ip 地址

从网页界面

转到节点的 Log链接:

Http://jenkins.mycompany.com:8080/computer/my_node_name/log

第一行应该这样写:

JNLP agent connected from /10.11.12.123

截图

screenshot

这与迪帕克解释的非常相似,但我沿着简短的步骤添加了图像。

在 Jenkins 界面中点击:

管理 Jenkins-> 节点-> 选择一个节点-> 脚本控制台

然后运行 println InetAddress.localHost.canonicalHostName

enter image description here