5

是否可以将多个外部资源锁定到 Jenkins 的构建中?我们尝试了外部资源调度程序插件,但没有成功。

4

3 回答 3

3

目前尚不清楚您的问题是否只能通过 External Resource Dispatcher 插件(似乎没有强大的积极开发)来解决,但如果您负担得起使用 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']])
                {
                    // ...
                }
            }
        }
    }
}
于 2019-12-08T10:27:16.760 回答
1

您还应该查看可锁定资源插件

该插件允许定义构建可以使用的可锁定资源(例如打印机、电话、计算机等)。如果构建需要已锁定的资源,它将等待资源空闲。可以在全局和每个作业的基础上定义锁定优先级。

https://github.com/jenkinsci/lockable-resources-plugin

于 2015-10-06T23:24:20.373 回答
1

除了指定的主要资源之外,还有一个选项被称为extra锁定资源。

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

现在,“a”或“b”的任何其他锁都将等待上述锁。

你可以在这里找到更多关于它的信息https://www.jenkins.io/doc/pipeline/steps/lockable-resources/

于 2020-05-27T13:36:44.303 回答