Jenkins 一种在自由式工作中通过标签请求可用詹金斯奴隶IP的方法?
是否有可能请求Jenkins slave IP的列表,Jenkins 一种在自由式工作中通过标签请求可用詹金斯奴隶IP的方法?,jenkins,ip,slave,Jenkins,Ip,Slave,是否有可能请求Jenkins slave IP的列表, 詹金斯自由式工作的内部 执行shell脚本时 可能作为环境变量?您可以通过groovy确定从属节点的IP地址。看 因此,您可以按以下步骤进行操作: 创建一个groovy构建步骤,将感兴趣的所有从属服务器的IP地址写入一个文本文件 在shell脚本构建步骤中,从该文件读取IP地址 例如,此groovy代码将使用标签mylabel打印所有从属服务器的名称和IP地址: import hudson.model.Computer.ListPossib
詹金斯自由式工作的内部 执行shell脚本时
可能作为环境变量?您可以通过groovy确定从属节点的IP地址。看 因此,您可以按以下步骤进行操作:
mylabel
打印所有从属服务器的名称和IP地址:
import hudson.model.Computer.ListPossibleNames
slaves = Hudson.instance.slaves.findAll { it.getLabelString().split() contains 'mylabel' }
slaves.each {
println "slave '${it.name}' has these IPs: " + it.getChannel().call(new ListPossibleNames())
}
样本输出:
slave 'foo' has these IPs: [10.162.0.135]
这个问题与这里回答的另一个问题非常相似:不,不是。在那里,你可以找到“如何获取某个特定从属服务器的ip地址”问题的答案,因此你必须知道它的名称。如我在问题中所述,我要求提供詹金斯奴隶IP的名单。因此,所有可用从机的IP或标签上的从机IP。要获得所有节点的名称,可以使用JSON API。假设Jenkins在localhost:8080上运行,那么localhost:8080/computer/api/jsonI更愿意在groovy级别上运行,因此您可以在一个干净的步骤中完成所有选择和报告工作。我将相应地延长安塞尔。