当前位置: 首页 > news >正文

jenkinsfile指定jenkins流水线的构建号

背景

升级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)}}}}			}

参考

  1. Set build number for Jenkins workflow (pipeline) builds
  2. How to set next build number in Pipeline job?
http://www.lryc.cn/news/101846.html

相关文章:

  • 微信小程序:实现提示窗确定,取消执行不同操作(消息提示确认取消)showModal
  • 深度学习论文: Q-YOLO: Efficient Inference for Real-time Object Detection及其PyTorch实现
  • 解读随机森林的决策树:揭示模型背后的奥秘
  • OceanMind海睿思获评中国信通院“内审数字化产品评测”卓越级(最高级)!
  • TPlink云路由器界面端口映射设置方法?快解析内网穿透能实现吗?
  • css3的filter图片滤镜使用
  • ❤️创意网页:打造炫酷网页 - 旋转彩虹背景中的星星动画
  • react常用知识点
  • iOS开发-QLPreviewController与UIDocumentInteractionController显示文档
  • 八、用 ChatGPT 帮助排查生产事故
  • WPF实战学习笔记25-首页汇总
  • FreeRTOS源码分析-7 消息队列
  • 机器学习深度学习——权重衰减
  • 【Linux】线程互斥 -- 互斥锁 | 死锁 | 线程安全
  • 【vue-pdf】PDF文件预览插件
  • Flink集群运行模式--Standalone运行模式
  • Spring整合JUnit实现单元测试
  • Spring Boot学习路线1
  • 管理类联考——写作——论说文——实战篇——标题篇
  • idea中设置maven本地仓库和自动下载依赖jar包
  • 前缀和差分
  • Golang GORM 模型定义
  • 微服务的各种边界在架构演进中的作用
  • 使用 docker-compose 一键部署多个 redis 实例
  • 14-测试分类
  • 打开域名跳转其他网站,官网被黑解决方案(Linux)
  • redis总结
  • 现代C++中的从头开始深度学习:激活函数
  • python怎么实现tcp和udp连接
  • java设计模式-观察者模式(jdk内置)