首页 > 解决方案 > 不允许多次使用阶段 [Jenkins_Declarative_Pipeline]

问题描述

我对詹金斯管道完全陌生。我正在尝试创建一个具有多个阶段的项目,但在我的Import阶段,我想执行parallel。对于每一个stageparallel我又有多个stages。我正在尝试以下方式,但出现语法错误It is not allowed to use stages more than once。有人可以纠正我如何实现这一点,我尝试了一些在线资源,但无法获得清晰的语法。

pipeline {
  agent any
  stages {
    stage('Build') {
      steps {
        echo 'from build'
      }
    }
  }

    stage('Test_A') {
      parallel {
        stages("GUI") { stage("Tests_A") { steps {echo 'from A'}} stage("Archive") {echo 'from Publish' } }
        stages("API") { stage("Tests_B") {steps {echo 'from B'} } }
        stages("CLI") {  stage("Tests_C") {steps {echo 'from C'} }}

      }
    }

  }

我想创建这样的东西,其中并行阶段将具有一系列阶段

在此处输入图像描述

标签: jenkins-pipelinejenkins-groovy

解决方案


一个parallel块只能有stage孩子:

stage('Import') {
    parallel {
        stage("Import_A") { 
            stages {
                stage("Tests_A") { steps { echo 'from A' } } 
                stage("Publish") { steps { echo 'from Publish' } }
            }
        }
        stage("Import_B") {
            ...
        }

        ... and so on
    }
}

另请参阅官方文档的示例


推荐阅读