在Jenkins中锁定多个外部资源

5

资源可以是平板电脑等。**可以。 - user2582961
已将此内容作为功能请求提交到“External Resource Dispatcher Plugin”插件:https://issues.jenkins-ci.org/browse/JENKINS-27583。 - desolat
3个回答

3

目前还不清楚你的问题是否仅能通过外部资源调度器插件来解决 (该插件似乎没有太强的活跃开发),但如果你能够使用chown指出的可锁定资源插件,那么在Jenkins流水线中,有一种更简化的语法来锁定多个命名资源,具体请参考这篇支持请求。

pipeline {
    agent any
    options {
         // Pipeline scoped multiple resource lock
        lock(extra: [[resource: 'resa'], [resource: 'resb']])
    }
    stages {
        stage('Build') {
            steps {
                 // Stage scoped multiple resource lock
                lock(extra: [[resource: 'resc'], [resource: 'resd']])
                {
                    // ...
                }
            }
        }
    }
}

1

1

有一个名为extra的选项,可以锁定除指定的主资源之外的其他资源。

lock(extra: [[resource: 'a']], resource: 'b') {
     //code
}

现在,无论是对于'a'还是'b'的任何其他锁定都将等待上述锁定。
您可以在此处找到更多信息 https://www.jenkins.io/doc/pipeline/steps/lockable-resources/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接