在Jenkins中,是否可以锁定多个外部资源到一个构建中?我们已经尝试使用 External Resource Dispatcher插件,但未成功。
在Jenkins中,是否可以锁定多个外部资源到一个构建中?我们已经尝试使用 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']])
{
// ...
}
}
}
}
}
您还应该查看可锁定资源插件:
该插件允许定义可锁定的资源(如打印机、电话、计算机等),可以被构建使用。如果构建需要已经被锁定的资源,它将等待资源变为空闲状态。可以全局和每个任务单独设置锁定优先级。
有一个名为extra
的选项,可以锁定除指定的主资源之外的其他资源。
lock(extra: [[resource: 'a']], resource: 'b') {
//code
}