有什么方法可以锁定Jenkins声明式管道中的多个顶级阶段? 我希望锁定两个顶级阶段,以便能够在这些阶段上使用“从阶段重新启动”。 现在我有这样的东西:
pipeline {
stages {
stage('Build') {
agent { node { label 'node1' } }
stages{
stage(build_1){
...
}
stage(build_2){
...
}
...
}
}
stage('Load FW') {
agent { node { label 'node2' } }
options {
lock(resource: "board")
}
steps {
...
}
}
stage('Test') {
agent { node { label 'node2' } }
options {
lock(resource: "board")
}
steps {
...
}
}
}
在那种情况下,当从“加载固件”到“测试”阶段时,资源被解锁,并且如果还有其他构建等待资源,它将锁定它(FIFO)。然后解锁后,返回“测试”,但在“ node2”上有其他内容。 当在这两个阶段的顶部添加锁(资源:“板”)时,我会收到错误消息:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 10: Expected a stage @ line 10, column 9.
lock(resource: 'myResource') {
我还希望能够在“构建”阶段运行并发构建,因此在这种情况下,disableconcurrentbuilds()并不是一个选择。 知道如何使其正常工作吗?