小编Has*_*far的帖子

使用 for 循环并行詹金斯作业

我正在尝试使用 for 循环并行运行构建列表,因为代码变得越来越大。

我有一个包含项目名称的全局列表

@Field def final String[] projectsList = ['project1','project2', 'project3'....]
stages {
    stage('Parallel Build') {
        steps{
            script{
                   def branches = [:]
                   for(int i = 0;i<15;i++) {
                        branches["Build "+projectsList[i]] = {buildProject(i)}
                   }
                   parallel branches
             }
     }

}           
Run Code Online (Sandbox Code Playgroud)

Build items 方法从全局列表中获取项目名称并使用 maven 构建它。

问题是,索引 15 的项目(不应该构建)正在并行构建 15 次。就好像它一直在等待,直到 for 循环结束,然后将相同的可用 i 值 (15) 在本例中分配给所有方法。

你知道我该如何解决这个问题吗?

groovy jenkins jenkins-pipeline

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

groovy ×1

jenkins ×1

jenkins-pipeline ×1