在Jenkinsfile中的一个并行块中按顺序运行多个步骤

在Jenkinsfile中的一个并行块中按顺序运行多个步骤,jenkins,jenkins-pipeline,jenkins-groovy,Jenkins,Jenkins Pipeline,Jenkins Groovy,我正在尝试优化我的管道。我正在使用管道生成和部署一些文档。最后,我清除我的文档根目录,并将新生成的文档写入文档根目录。我并行地做了几个阶段 o-----o-----o--+--o--+---+--o--+-----o | | | | +--o--+ +--o--+ | | | | +--o--+ +--o--+ 这是平行级的管道

我正在尝试优化我的管道。我正在使用管道生成和部署一些文档。最后,我清除我的文档根目录,并将新生成的文档写入文档根目录。我并行地做了几个阶段

o-----o-----o--+--o--+---+--o--+-----o
               |     |   |     |
               +--o--+   +--o--+
               |     |   |     |
               +--o--+   +--o--+
这是平行级的管道

stage("clear nfs directory") {
    steps {
        parallel(
            test: {
                sh "rm -rf /mnt/nfs/test/docs/$pipelineParams.groupname"
                sh "mkdir /mnt/nfs/test/docs/$pipelineParams.groupname"
            },
            rele: {
                sh "rm -rf /mnt/nfs/rele/docs/$pipelineParams.groupname"
                sh "mkdir /mnt/nfs/rele/docs/$pipelineParams.groupname"
            },
            prod: {
                sh "rm -rf /mnt/nfs/prod/docs/$pipelineParams.groupname"
                sh "mkdir /mnt/nfs/prod/docs/$pipelineParams.groupname"
            }
        )
    }
}

stage("copy generated docs to nfs directory") {
    steps {
        parallel(
            test: {
                dir("target/public") {
                    sh "cp -r * /mnt/nfs/test/docs/$pipelineParams.groupname"
                }
            },
            rele: {
                dir("target/public") {
                    sh "cp -r * /mnt/nfs/rele/docs/$pipelineParams.groupname"
                }
            },
            prod: {
                dir("target/public") {
                    sh "cp -r * /mnt/nfs/prod/docs/$pipelineParams.groupname"
                }
            }
        )
    }
}
由于clear和write应该相互依赖,因此我希望将管道重构为一种更为有序的设计(以更少的并行步骤按顺序运行多个步骤)


我不知道如何在同一并行块中运行多个步骤。。。谁能给我一个提示吗?谢谢大家

请参阅下面的参考资料,它将允许您在同一并行块中运行多个步骤。
您需要使用顺序阶段,它将给出以下输出:


有关更多信息,请参阅:-


下面的链接给出了参考示例:



这对你有用吗是的,这正是我需要的。。。谢谢
o-----o-----o--+--o---o--+-----o
               |         |
               +--o---o--+
               |         |
               +--o---o--+
o-----o-----o--+--o---o--+-----o
               |         |
               +--o---o--+
               |         |
               +--o---o--+
pipeline {
  agent { label 'master' }
  stages {
    stage('Build and Test') {
      parallel {
        stage("Build and Test Linux") {
          stages {
            stage("Build (Linux)") {
              agent any
              steps {
                echo "Inside for loop 1"
              }
            }
            stage("Test (Linux)") {
              agent any
              steps {
                echo "Inside for loop 2"
              }
            }
          }
        }
        stage("Build and Test Windows") {
          stages {
            stage("Build (Windows)") {
              agent any
              steps {
                echo "Inside for loop 3"
              }
            }
            stage("Test (Windows)") {
              agent any
              steps {
                echo "Inside for loop 4"
              }
            }
          }
        }
      }
    }
  }
}