jenkins active choice parameter 获取动态参数进行构建
- DevOps
- 2022-08-08
- 127热度
- 0评论
背景
生产环境更新走jenkins,传统项目,走的增量包模式,每次需要把增量包(版本号命名)手动传到 jenkins 服务器的工作目录下,然后走jenkins中输入版本号,点击构建进行发布,因网络隔离,上传此包较为麻烦
方案
step1 规范版本号
scm 准备好增量升级包后,报名命名为版本号,格式 V22.0808.01
- 22: 2022年
- 0808: 当天日期
- 01: 常规版本 01 ,紧急版本 91
step2 升级包上传 scm 工具
此处用的是 svn
step3 jenkins 动态获取版本号作为构建参数
安装 jenkins 插件 active choices plug-in
在插件中心直接搜索了安装就行

流水线配置动态参数groovy脚本

// 获取当前时间
Date date = new Date()
// 获取到当前年份 22
def y2=date.format("yy")
// 获取当前日期 0808
def d=date.format("MMdd")
// 通过 svn command 来获取版本清单
def cmd="svn list http://xxsvn.xxxx.com/svn/XXXX/02Maintenance/04升级更新/"+"${y1}"
// 执行 svn command,并将返回处理为 text 格式
def sys=cmd.execute().text
// 处理掉文件夹显示的 "/" 并转为 list 格式
def version=sys.toString().replace("/","").tokenize()
def pat="V"+"${y2}"+"."+"${d}"+".*"
// 正则匹配所有符合当前日期格式的版本号
def version1=version.findAll{ it ==~ pat }
// 返回
return version1
执行效果
提了两个升级包


