Jenkins 詹金斯平行标准

Jenkins 詹金斯平行标准,jenkins,jenkins-pipeline,jenkins-2,Jenkins,Jenkins Pipeline,Jenkins 2,我有一个类似的声明: parallel(first: { step(...) }, second: { step(...) }) 这很好用。 现在,如果我通过函数调用来扩展它: def myFunc(num): sh """\ mkdir -p ${num} """ node('myspecialslave') { parallel(first: { step(...) myFunc(1) }, second: {

我有一个类似的声明:

parallel(first: {
    step(...)
}, second: {
    step(...)
})
这很好用。 现在,如果我通过函数调用来扩展它:

def myFunc(num):
    sh """\
mkdir -p ${num}
"""
node('myspecialslave') {
    parallel(first: {
        step(...)
        myFunc(1)
    }, second: {
        step(...)
        myFunc(2)
    })
}
我不再认为
第一个
第二个
是并行执行的。
所以我的问题是-有什么标准可以使闭包并行执行?

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

相反,您希望在每个并行分支内分配一个执行器:

并行(第一:{
节点{
步骤(…)
myFunc(1)
}
},第二:{
节点{
步骤(…)
myFunc(2)
}
})

另请参见此。

是否在每个节点中分配
节点?它们应该并行运行,只要您分配和执行器,并且有足够的可用资源。显示更多代码可能会有所帮助。
myFunc
仅包含
sh
调用。
节点
块在哪里?任何地方都没有节点块。我只在一个节点中具有并行功能,希望在该节点上执行所有操作,但我确实希望在当前节点上执行两个
myFunc
调用。从这篇文章来看,第一个例子是类似的。不确定所有的东西是否可以并行运行。您是否尝试过并行
睡眠(30)
?也许您可以增加节点上的执行器数量,以便多个作业可以并行运行,正如github.com/jenkinsci/pipeline-plugin/blob/master/TUTORIAL.md所述:“许多步骤(如本例中的git和sh)只能在节点上下文中运行”。。。。。即使您在同一台机器上运行(可以使用更多的执行器+标签实现),但是并行地,将分配不同的工作空间,因此执行之间不会有任何冲突。。。。。事实上,第一个示例不一定在同一个节点上运行。它在主代理(jenkins服务器)上生成的轻量级执行器上运行。