终止构建并设置构建结果
- 前言
- 获取构建结果
- 终止构建并设置构建状态
- 权限问题解决
前言
- 本篇来学习Jenkins终止构建的方法,使用场景:根据前一个构建状态,判断当前构建是否运行
获取构建结果
- 上次构建结果:currentBuild.getPreviousBuild().result
说明:上传构建正在进行中,获取的结果为 null
pipeline {
agent any
stages {
stage('is run'){
steps{
script{
def previous_result = currentBuild.getPreviousBuild().result
println "build result:${previous_result}"
}
}
}
}
}
- 当前是第7次构建,获取到上次构建结果是FAILURE
终止构建并设置构建状态
- 上次构建中,终止当前构建并设置构建状态为 UNSTABLE
pipeline {
agent any
stages {
stage('is run'){
steps{
script{
def previous_result = currentBuild.getPreviousBuild().result
println "previous_result:${previous_result}"
if("${previous_result}" == 'null'){
currentBuild.getRawBuild().getExecutor().interrupt(Result.UNSTABLE)
sleep 30
}
}
}
}
stage('Hello'){
steps{
script{
println "Hello World!"
sleep 20
}
}
}
}
}
- 效果
权限问题解决
- 前面的脚本可能出现权限问题,下面一起来解决下
- Manager Jenkins --> In-process Script Approval
- 点击Approve