在函数中对Jenkinsfile的节进行分组

ylamdve6  于 2023-03-17  发布在  Jenkins
关注(0)|答案(1)|浏览(140)

我有一个Jenkins管道可以工作,但是Sonar抱怨嵌套块的深度太高
我没有看到一个简单的方法来减少块的数量,所以我想做一些像创建一个函数,但我的尝试这样做已经失败。
我想转换如下内容:

pipeline {
    stages {
        stage {
            parallel {
                 stage{
                       steps {
                               script {
                               }
                       }
                }
            }
        }
     }
}

变成

pipeline {
    stages {
        stage {
            parallelized_stages()
            
        }
     }
}

def parallelize_stages() {
    parallel {
         stage{
              steps {
                     script {
                     }
               }
         }
     }
}

有什么想法吗?

hrirmatl

hrirmatl1#

是的,你可以这么做.下面是一个例子.

pipeline {
    agent any
    stages {
        stage('Test') {
            steps {
                script {
                    parallel parallelJobs()
                }
            }
        }
    }
}

def parallelJobs() {
  return [
      a: { 
        stage('Test1') {
            echo "Stage 1"
        }
      },
      b: { 
        stage('Test2') {
            echo "Stage 2"
        }
      }
      ]
}

相关问题