如何在不同节点上的jenkins声明式管道中执行多个post操作?

时间:2020-05-12 20:41:00

标签: jenkins-pipeline

在以下情况下,我必须清理执行阶段的工作,例如删除不同节点下的文件作为清理步骤。我尝试了以下操作,但收到错误消息“执行时始终发布条件时出错:java.lang.NoSuchMethodError:在步骤之间找不到这样的DSL方法'agent'”

pipeline {
stages {...}
post {
    always{
     node 'test1'{
      steps{...}
      }
     }
    cleanup{
     node 'test2'{
      steps{...}
     }
    }
    success {...}
    failure {...}
 }
}

不希望它依赖于这样的阶段。

stage('Clean up'){
   agent {node 'test1'}
    steps{
           sh '''
           #!/bin/bash
               echo "Cleaning up"
          '''
     }
     post {
      always {
       sh '''
           #!/bin/bash
             rm test/*
          '''
      }
    }
  }

希望它运行起来而无论任何阶段失败。

1 个答案:

答案 0 :(得分:0)

对于那些将来会搜索的人。

post { 
   always { 
      node('test1') { 
         script {
            ...
         }
      } 
   }
}