gpt4 book ai didi

jenkins - 如何获取所有分配了标签的Jenkins节点(包括主节点)的列表?

转载 作者:行者123 更新时间:2023-12-04 00:58:03 25 4
gpt4 key购买 nike

我正在创建Jenkins管道作业,并且需要在所有带有特定标签的节点上运行作业。

因此,我试图获取分配有特定标签的节点名称的列表。 (有了一个节点,我可以用getAssignedLabels()获得标签)

nodes中的jenkins.model.Jenkins.instance.nodes-列表似乎不包含我需要包括在搜索中的主节点。

我当前的解决方案是遍历jenkins.model.Jenkins.instance.computers并使用getNode()方法获取节点。这行得通,但是在Jenkins的javadoc中,我正在阅读此列表,可能不是最新的。

从长远来看,我将添加(动态地)云节点,而且我担心那时我将无法使用computers

正确获取所有当前节点的列表是什么?

这就是我现在正在做的:

@NonCPS
def nodeNames(label) {
def nodes = []
jenkins.model.Jenkins.instance.computers.each { c ->
if (c.node.labelString.contains(label)) {
nodes.add(c.node.selfLabel.name)
}
}
return nodes
}

最佳答案

这就是我现在正在做的方式。我还没有发现其他东西:

@NonCPS
def hostNames(label) {
def nodes = []
jenkins.model.Jenkins.get.computers.each { c ->
if (c.node.labelString.contains(label)) {
nodes.add(c.node.selfLabel.name)
}
}
return nodes
}


jenkins.model.Jenkins.get.computers包含主节点和所有从节点。

关于jenkins - 如何获取所有分配了标签的Jenkins节点(包括主节点)的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46933722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com