jenkins - 在 Jenkins 脚本管道中动态创建持久锁

标签 jenkins jenkins-pipeline jenkins-groovy

在我的脚本管道中,我想创建一个锁,该锁将在管道完成后保留在全局 Jenkins 配置中。我尝试了以下无济于事。

import org.jenkins.plugins.lockableresources.LockableResourcesManager as LRM
lrm = LRM.get()
lrm.createResource("my_lock")
lrm.save()

可锁定资源是短暂的:它被创建并可以使用,但不会持续存在。 我在 Jenkins 2.226 上运行可锁定资源插件 2.7。

最佳答案

您的代码应如下所示:

import org.jenkins.plugins.lockableresources.LockableResourcesManager as LRM
lrm = LRM.get()
lrm.createResource("my_lock")
// Get lockable resource by name
def lockableResource = lrm.fromName("my_lock")
// Make resource permanent (Resources are ephemeral by default)
lockableResource.setEphemeral(false)
lrm.save()

默认情况下,可锁定资源是短暂的。要覆盖它,请使用方法 setEphemeral(boolean)

关于jenkins - 在 Jenkins 脚本管道中动态创建持久锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61641395/

相关文章:

环境标签/正文中的 Jenkins 数组变量

jenkins - 如何通过 groovy Web 控制台检索作业配置?

Jenkins : Groovy : Scripts not permitted to use method groovy. lang.GroovyObject getProperty java.lang.String

docker - Jenkins Docker管道插件引用了旧的JENKINS_HOME

即使当前阶段失败,Jenkins Pipeline 仍会执行以下阶段

jenkins - 在 Jenkins 作业中显示工作区下文件的时间戳

jenkins - 我的 jenkins 管道可以有一个可重用的 "post" block 吗?

groovy - 如何使用 groovy 中的文件进行 http 调用以上传文件并构建参数

jenkins - 如何从gradle任务中调用Groovy函数?

shell - 当搜索到的字符串不存在时,Jenkins shell 脚本返回退出代码 1