我正在尝试与Jenkins运行一些并行脚本,但是它不起作用。
功能:我有一张地图,其中的键是一个字符串值,而value是一个字符串列表。我想用单独的线程显示特定键的值。
代码:
def prepareParallelNodes(def jobMap)
{
def i=0;
def parallelNodes = [:];
jobMap.each
{
item ->
def jobListName = jobMap.get(item.key);
parallelNodes["branch${i}"] =
{
getStageForInstance()(item.key, jobListName);
}
i=i+1;
}
return parallelNodes
}
def getStageForInstance = {
key,jobList ->
for (jobb in jobList) { echo "${jobb}" }
function1Call();
function2Call();
}
def funtion1Call()
{ echo "Function1 call" }
def function2Call()
{ echo "Function2 call" }
观察:
- java.lang.NoSuchMethodError:在步骤之间找不到这样的DSL方法“ getStageForInstance”
- 如果我将key,jobList参数作为方法的一部分传递:getStageForInstance(key,jobList){},则在function1Call()之后,控件将不会返回到function2Call();
def getStageForInstance(def key, def jobList)
{
for (jobb in jobList) { echo "${jobb}" }
function1Call();
function2Call();
}
请让我知道代码中有什么问题吗?