我需要汇总在我的jenkins主节点上设置的jenkins从节点的所有主机名的列表。许多节点都设置有SLAVE NODE EXAMPLE
之类的名称,而不用其服务器名称作为节点名称。我知道如何从用户界面进行操作。但是,由于需要设置许多节点,因此我需要通过python访问它,而手动检查每个节点将是一个漫长的过程。
我正在使用python-jenkins api,该API的功能可以为我提供所有节点及其配置。使用get_node_config(name)
。但是,它没有为我提供COMPUTERNAME
。我似乎也无法在Jenkins主目录中找到包含该信息的文件。
答案 0 :(得分:0)
一旦获得节点名称,就可以使用该名称获取有关with的更多信息。 get_node_info(name, depth=0)
nodes = get_nodes()
for n in nodes:
info = get_node_info(n[name])
答案 1 :(得分:0)
如果有帮助的话,这里有个俗套的脚本。从控制台运行。注意:节点必须在线才能查询。
Jenkins.instance.slaves.each {
print it.getNodeName() + ' : '
if ( it.getComputer().isOnline() ) {
println it.getComputer().getHostName() + ' : ' + it.getComputer().getOSDescription()
} else {
println ' - offline -'
}
}
return 0
请参阅Jenkins API-Computer