点击上方“中兴开发者社区”,关注我们
每天读一篇一线开发者原创好文
DevOps微课系列旨在帮助用户学习DevOps实践。
适用于需要手工构建补丁版本发布场景,利用Jenkins原生插件和Jforg制品库,编写脚本快速实现补丁版本自动构建与上传。
1. 概述
本文档描述使用Jenkins+制品库打造自动化补丁, 从手动补丁痛点、解决方案、实施过程、效果收益介绍整个实践过程,其中主要使用到的JENKINS插件有:
1)Git Parameter Plugin:GIT分支版本自动获取
2)File Parameter Plugin:上传补丁说明
3)Build vars Plugin:补丁制作人信息
4)MultiString Para Plugin:指定补丁涉及文件列表
制品库curl命令有:
1) 上传制品库
2) 查询制品库文件信息
3) 上传制品库md5校验文件
2. 项目痛点
开发者:手工制作繁锁
√ 补丁手工制作耗时,单个补丁手动制作需要半天
√ 补丁制作环节多,制作者信息遗漏
管理员:补丁管理不便
√ 补丁编号手动分配,容易造成冲突
√ 补丁手动授权管理,协作低效
3.场景策略
外发版本出现故障,定位后需要提供补丁供系统测试,完成测试后外发现场:
场景要求 | 解决策略 |
需要基于指定版本构建补丁 | Jenkins Git Parameter Plugin,支持Git分支版本自动获取 |
补丁版本包有既定格式要求,如包版本号、制作xml描述等信息 | 配置补丁模板,使用Shell脚本参数化打包 |
补丁版本需要提供补丁说明文档,包含补丁制作人升级、回退操作等信息 | File Parameter Plugin:上传补丁说明
|
补丁版本编号需要在原补丁基础上顺延 | 制品库watcher功能 |
4.实践过程
使用Jenkins+制品库组合方案,利用JENKINS插件,配合脚本,快速实现自动化补丁功能:
1)创建一个补丁自动制作JOB,JOB内部包含两部分:
组件或项目版本的构建
补丁文件提取打包和上传,
其中使用如下Jenkins插件满足要求场景要求:
① Git Parameter Plugin:GerritIT分支版本自动获取
② File Parameter Plugin:上传补丁说明
③ Build vars Plugin:补丁制作人信息
④ MultiString Para Plugin:指定补丁涉及文件列表
2)编写补丁制作脚本,核心流程如下:
5.效果展示
开发人员登录Jenkins后,自助制作补丁包并上传制品库,步骤如下:
指定版本号->上传补丁说明文档->指定补丁文件列表->开始构建
效果对比如下:
注:脚本参见中兴开发者社区同名文章