【发布时间】:2020-06-16 11:41:46
【问题描述】:
所以,我用这段代码开始我的管道脚本:
node {
if (env.JOB_NAME != 'Company/project/develop' && env.JOB_NAME != 'Company/project/master'){
def jobName = env.JOB_NAME
def job = Jenkins.instance.getItemByFullName(jobName)
for (build in job.builds) {
if (build.isBuilding() && build != job.builds.first()) {
println '*' * 30
println 'All previous builds for this job have been aborted!'
println '*' * 30
build.doStop()
}}
}
}
而且效果很好。它会停止相同作业名称的所有先前构建。这样做的目的是在开发人员推送太多代码时优化 Jenkins,但最新推送只是重要的一个。主分支和开发分支被排除在此规则之外。
我想通过添加中断原因来稍微扩展一下。我想打印到已停止的构建中,例如:“此作业已停止,因为已过时......”
我尝试了很多在stackoverflow上发布的东西,但我没有成功。
谢谢
【问题讨论】:
标签: jenkins jenkins-pipeline abort