如何解决Jenkins:无论结果如何,在工作结束时执行shell脚本
我想在Jenkins作业结束时运行HTTP POST请求,而不管它是否失败或提前中止。我计划使用一个简单的Curl命令来做到这一点。
我知道Post build task plugin可以做到。 但是,我相信,它将整个控制台保存到RAM中以进行文本比较,这不仅是我不需要的,而且很可能在我们的主服务器上导致OOM异常。
此外,我没有看到任何有关plubin的文档,只能在用户界面中尝试使用Jenkins脚本对此进行测试。
是否有人可以在Jenkins文件中调用postbuild-task
?
解决方法
您可以使用构建后步骤。添加此帖子部分
pipeline {
agent any
stages {
stage(""){
steps {
script {
}
}
}
}
post { #---------------This block
always {
script {
your stuff which you want execute no matter what
}
}
}
}
,
由于我的原始代码没有使用jenkins管道,因此我最终尝试了一个try try代码块
,您可以在阶段之后添加帖子块
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
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。