通过“Java web start”连接到Jenkins服务器的Windows从节点。节点的系统信息没有IP地址。
我必须遍历我们拥有的所有从属节点,并找到哪个机器(IP地址)对应于Jenkins中的从属节点。
有没有办法从Jenkins本身找到从节点的IP地址?
答案 0 :(得分:54)
通过脚本控制台(管理Jenkins - &gt; 节点 - &gt; 选择节点 - &gt; 脚本控制台< / em>)我们可以执行groovy脚本的节点。运行以下命令以获取IP地址。
println InetAddress.localHost.canonicalHostName
答案 1 :(得分:14)
找出IP的高效和平台无关方式可能是“全局”脚本控制台的以下 groovy代码 在主人身上:
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地址。
由于这不需要节点特定的控制台,可以很容易地围绕所有节点的代码添加循环。< / p>
答案 2 :(得分:9)
在非Windows Jenkins奴隶上回答同样的问题:
获取IP地址:
println "ifconfig".execute().text
获取主机名:
println "hostname".execute().text
答案 3 :(得分:4)
转到节点的Log
链接:
http://jenkins.mycompany.com:8080/computer/my_node_name/log
第一行应显示以下内容:
JNLP agent connected from /10.11.12.123
答案 4 :(得分:1)
这与Deepak的解释非常相似,但是我在很短的步骤中添加了图像。
在Jenkins用户界面中,单击:
管理Jenkins->节点->选择一个节点->脚本控制台
然后运行println InetAddress.localHost.canonicalHostName
答案 5 :(得分:0)
在你的Jenkins工作中,如果它在groovy或者回应ifonfig sh“/ sbin / ifconfig -a | grep inet”
答案 6 :(得分:0)
要在Windows奴隶上获取IP:
导航到脚本控制台(管理Jenkins - &gt; 节点 - &gt; 选择节点 - &gt; 脚本控制台)
println "ipconfig".execute().text
答案 7 :(得分:-2)
也可以通过Jenkins UI找到: 管理Jenkins - &gt;管理节点 - &gt;单击节点名称 - &gt;配置
这应显示该节点的公共和私有IP地址