如何纠正詹金斯管道中的未知阶段部分错误?

How to rectify the unknown stage section error in jenkins pipeline?

我是 AWS 和 DEVOPS 部分的新手,我开发了一个管道,用于克隆和测试我粘贴在 Git 部分的项目,构建作业后出现错误

这是我构建后的错误 pipeline script

pipeline {
    agent any 
    stages {
        stage('clone repository and clean project') { 
            steps {
                sh "rm -rf ADDRESS_BOOK"
                sh "git clone https://github.com/saitarun135/ADDRESS_BOOK"
                // sh "mvn clean -f ADDRESS_BOOK"
            }
            stage('Test'){
                steps{
                    sh "mvn test -f ADDRESS_BOOK"
                }
            }
        }
       
    }
}

Jenkins declarative pipeline syntax 非常严格,应该遵循特定的指令模式,其中之一是 stage 指令必须直接位于 stages 指令之下,而不是另一个 stage.
在您的情况下,它看起来像:

pipeline {
   agent any 
   stages {
       stage('clone repository and clean project') { 
           steps {
               sh "rm -rf ADDRESS_BOOK"
               sh "git clone https://github.com/saitarun135/ADDRESS_BOOK"
               // sh "mvn clean -f ADDRESS_BOOK"
           }
        }
        stage('Test'){
            steps{
               sh "mvn test -f ADDRESS_BOOK"
            }
        }      
    }
}

如果您想在父级 stage 中嵌套阶段,可以这样做,但父级不能有自己的 steps 指令。类似于:

pipeline {
    agent any
    stages {
        stage('clone repository and clean project') {
            steps {
                sh "rm -rf ADDRESS_BOOK"
                sh "git clone https://github.com/saitarun135/ADDRESS_BOOK"
            }
        }
        stage('Run Tests '){
            stages {
                stage('Test 1') {
                    steps {
                        echo 'Run test 1...'
                    }
                }
                stage('Test 2') {
                    steps {
                        echo 'Run test 2...'
                    }
                }
                ...
            }
        }
    }
}