0

我有一个像这样的并行声明:

parallel(first: {
    step(...)
}, second: {
    step(...)
})

哪个工作正常。现在,如果我通过函数调用扩展它:

def myFunc(num):
    sh """\
mkdir -p ${num}
"""
node('myspecialslave') {
    parallel(first: {
        step(...)
        myFunc(1)
    }, second: {
        step(...)
        myFunc(2)
    })
}

我不再看到first并且根本没有second被并行执行。所以我的问题是 - 有什么标准可以并行执行闭包?

4

1 回答 1

0

您似乎在同一个节点上并行运行所有这些。

相反,您希望在每个并行分支中分配一个执行程序:

parallel(first: {
    node {
      step(...)
      myFunc(1)
    }
}, second: {
    node {
      step(...)
      myFunc(2)
    }
})

另请参阅这篇文章

于 2017-02-02T10:15:12.003 回答