建设一个电影网站需要多少钱,宁波建设监理协会,网站制作案例策划,成都网站制作费用背景
升级Jenkins过程中不小心导致流水线配置文件job目录丢失, 重新配置流水线后所有流水线构建号码都从1开始构建了, 然而我们的产品关联了jenkins构建号,重新从1 构建会导致各种问题.
解决方案
在Jenkinsfile文件中指定流水线的构建号为一个不存在的数字, 这样就不会冲突了…背景
升级Jenkins过程中不小心导致流水线配置文件job目录丢失, 重新配置流水线后所有流水线构建号码都从1开始构建了, 然而我们的产品关联了jenkins构建号,重新从1 构建会导致各种问题.
解决方案
在Jenkinsfile文件中指定流水线的构建号为一个不存在的数字, 这样就不会冲突了. 用Jenkins.get().getItemByFullName(${env.JOB_NAME}).updateNextBuildNumber(10000) 可以更新当前流水线的下一次构建号. 注意需要修改自己指定构建号例如10000, 在第二次构建时构建号就会变成10000
Jenkinsfile 如下:
pipeline {agent anystages {stage(修改构建号) {steps {script {Jenkins.get().getItemByFullName(${env.JOB_NAME}).updateNextBuildNumber(10000)}}}} } 脚本命令行里面可以直接执行Jenkins.get().getItemByFullName(你的job名称).updateNextBuildNumber(10000) 来更新单个job的构建号.
或者也可以定义成函数
NonCPS
def updateBuildNumber(build_number) {def job Jenkins.instance.getItemByFullName(${env.JOB_NAME}, Job.class)job.nextBuildNumber build_numberjob.saveNextBuildNumber()build env.JOB_NAMEreturn true
}
pipeline {agent anystages {stage(修改构建号) {steps {script {updateBuildNumber(10000)}}}} }参考
Set build number for Jenkins workflow (pipeline) buildsHow to set next build number in Pipeline job?