Jenkins:在作业结束时执行shell脚本,无论结果如何

bxgwgixi  于 2023-04-20  发布在  Jenkins
关注(0)|答案(3)|浏览(170)

我想在Jenkins作业结束时运行一个HTTP POST请求,不管它是失败还是提前中止。我计划使用一个简单的Curl命令来实现这一点。
我知道这是可能的Post build task plugin。但是,我相信,它保存了整个控制台到RAM的文本比较,这不仅不需要,但将最有可能导致OOM异常对我们的主人。
另外,我没有看到任何文档让plubin只在UI中使用Jenkins脚本来测试它。有人有任何替代方案或方法在Jenkins文件中调用postbuild-task吗?

4c8rllxm

4c8rllxm1#

您可以使用后构建步骤。添加此帖子部分

pipeline {
  agent any
  stages {
    stage(""){
      steps {
        script {
    
        }
      }
    }
  }
  post { #---------------This block
    always {
      script {
        your stuff which you want execute no matter what
      }
    }
  }
 }
h9vpoimq

h9vpoimq2#

由于我的原始代码没有使用Jenkins管道,因此我最终使用了一个简单的TryFinally块来完成这一任务

gr8qqesn

gr8qqesn3#

您可以在阶段之后添加post块

post {
    success {
      //Success block
    }

    unstable {
      //unstable block
    }

    failure {
      //Failure block
    }

    always {
      //This block will always be executed regardless of the build outcome
      echo "Build completed with status: ${currentBuild.result}"
    }
}

标准流样:

pipeline {
    agent any
    stages {
        stage("1") {
            }
        stage("2") {
            }
         ....
       }
  post {
    always {
           //This block will always be executed
           }
       }
}

相关问题