Jenkins多线程函数
我需要在Jenkins管道中并行运行两个定义的函数。 正如jenkins中定义的那样,作业中使用的关键字parallel似乎不适用于函数调用。 我试过的是-Jenkins多线程函数,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我需要在Jenkins管道中并行运行两个定义的函数。 正如jenkins中定义的那样,作业中使用的关键字parallel似乎不适用于函数调用。 我试过的是- def first_func(){ echo "first function" } def second_func(){ echo "second function" } node { task = [:] function_lists = ['first_func
def first_func(){
echo "first function"
}
def second_func(){
echo "second function"
}
node {
task = [:]
function_lists = ['first_func()', 'second_func()']
stage ('build') {
for (job in function_lists) {
task[job] = { '${job}' }
}
parallel task
}
}
不要真正调用函数。詹金斯有没有办法做到这一点?是的,可以通过以下方式实现:
def first_func(){
echo "first function"
}
def second_func(){
echo "second function"
}
node {
def task = [:]
stage ('build') {
// Loop through list
['first_func', 'second_func'].each {
def a = it;
task[a] = { "${a}"()}
}
parallel task
}
}
输出:
@meAbab为您做这项工作。如果可行的话,我不太确定在哪里/如何传递函数参数?@meAbab:欢迎。如果这对您有效,请接受答案。是的,您也可以这样做。您也可以使用映射而不是带有键值的列表来传递参数。