gpt4 book ai didi

jenkins - 检查资源是否被锁定

转载 作者:行者123 更新时间:2023-12-05 02:58:53 24 4
gpt4 key购买 nike

我通常使用如下方式将资源锁定在我的声明式管道中:

lock(resource: "MY_RESOURCE") {
// do something
}

但现在我有几个不同的资源可以使用,有没有办法检查资源是否被锁定?

我想做这样的事情:

myResources = ["RES1", "RES2", "RES3"]
hasResource = false
for (resource in myResources) {
if (hasresource) {
break
}
if (!isLocked(resource)) {
hasresource = true
lock(resource) {
// do something
}
}
}

(抱歉,如果语法错误,我真的不经常用 groovy 编程)

最佳答案

根据锁插件的来源,这应该可以工作:

import org.jenkins.plugins.lockableresources.LockableResourcesManager as LRM

def myResources = ["RES1", "RES2", "RES3"]
def notLocked = myResources.find{rName->
LRM.get().forName(rName).with{ r-> !r.isLocked() && !r.isQueued() }
}
if(notLocked){
lock(notLocked){
//do smth
}
}

关于jenkins - 检查资源是否被锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58524917/

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