尝试添加生成后操作时,My Jenkins文件不再编译

尝试添加生成后操作时,My Jenkins文件不再编译,jenkins,jenkins-pipeline,pipeline,Jenkins,Jenkins Pipeline,Pipeline,尝试添加POST操作时,My Jenkins文件不再编译。最后一个应该在构建结束时显示给jenkins控制台输出 第一部分是关于我的jenkinsfile代码,它的构建做得很好 第二部分是添加到第一部分的补丁,其中任何构建都会失败 我想集成第一部分和第二部分,以获得下文所述的预期输出,但无论如何插入,集成都会失败。 我已经尝试了很多东西,但现在我已经筋疲力尽了,所以任何帮助都将不胜感激 //第一部分:我的基本代码 node { def mvnHome stage('Pre

尝试添加POST操作时,My Jenkins文件不再编译。最后一个应该在构建结束时显示给jenkins控制台输出

第一部分是关于我的jenkinsfile代码,它的构建做得很好

第二部分是添加到第一部分的补丁,其中任何构建都会失败

我想集成第一部分和第二部分,以获得下文所述的预期输出,但无论如何插入,集成都会失败。 我已经尝试了很多东西,但现在我已经筋疲力尽了,所以任何帮助都将不胜感激

//第一部分:我的基本代码

    node {
    def mvnHome
    stage('Preparation') { 
        git 'https://github.com/jglick/simple-maven-project-with-   tests.git'
      // Get the Maven tool.
      // ** NOTE: This 'M3' Maven tool must be configured
      // **       in the global configuration.           
      mvnHome = tool 'M3'
   }
    stage('Build') {
      // Run the maven build
      if (isUnix()) {
         sh "'${mvnHome}/bin/mvn' -Dmaven.test.failure.ignore clean package"
      } else {
         bat(/"${mvnHome}\bin\mvn" -Dmaven.test.failure.ignore clean package/)
      }
   }
   stage('Results') {
      junit '**/target/surefire-reports/TEST-*.xml'
      archiveArtifacts 'target/*.jar'
   }
 }
//第二部分:添加到先前代码的代码

post {
    always {
        echo 'I have finished and deleting workspace'
        // deleteDir() 
    }
    success {
        echo 'Job succeeeded!
    }
    unstable {
        echo 'I am unstable :/'
    }
    failure {
        echo 'I failed :('
    }
    changed {
        echo 'Things were different before...'
    }
}
控制台输出中需要输出:“作业成功!或者我不稳定:/or“我失败了:(”…这取决于jenkins的构建状态,并始终在每次新构建之前清理工作区

实际结果是来自控制台输出的错误消息:
java.lang.NoSuchMethodError:在步骤[archive、bat、build、catchError、checkout、deleteDir、dir……]中找不到这样的DSL方法“post”

您混淆了脚本式和声明式管道语法。
post
是声明式的一部分,但您使用的是脚本式变体(没有
管道
,但是
节点
步骤)

您必须使用
try
/
catch


请参阅。

可能的副本向我们展示整个Jenkins文件plz