Jenkins中的Jenkins并行执行未正确执行

时间:2018-09-04 15:34:09

标签: jenkins groovy jenkins-pipeline pipeline jenkins-groovy

我正在尝试与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"  }

观察:

  
      
  1. java.lang.NoSuchMethodError:在步骤之间找不到这样的DSL方法“ getStageForInstance”
  2.   
  3. 如果我将key,jobList参数作为方法的一部分传递:getStageForInstance(key,jobList){},则在function1Call()之后,控件将不会返回到function2Call();
  4.   
    def getStageForInstance(def key, def jobList)
 {        



             for (jobb in jobList) {     echo "${jobb}"  }
             function1Call();
             function2Call();

    }

请让我知道代码中有什么问题吗?

0 个答案:

没有答案