1.编写目的
主要针对软件版本的流程, 以确保公司资产得到保护。
2.适用范围
该流程适用于产品研发部门。
3.环境资源
在整个产品生命周期中,以gitlab作为公司主要代码仓库。
4.流程
流程分为版本号定义、版本发布
4.1 版本号定义
4.1.1 版本号规则 采用语义化版本
版本格式:主版本号.次版本号.修订号,版本号递增规则如下:
主版本号:当你做了不兼容的 API 修改,
次版本号:当你做了向下兼容的功能性新增,
修订号:当你做了向下兼容的问题修正。
项目版本号可加到“主版本号.次版本号.修订号”的后面,作为延伸。
4.1.2 部署包版本
对于产品,采用上面的规则,比如1.0.0
对于项目,在上面版本的基础上,再追加一个版本号:-客户名字.项
目版本号,比如1.0.0-xinqiao.01
4.1.3 正式发布版本
正式发布版本的版本号规则:release主版本号.次版本号.修订号
linux、windows项目都需要支持离线的部署包。
4.2 版本发布流程
4.2.1整体流程
编辑
说明:
- 研发自测通过, 定版后通过邮件发布release notes。
- 测试经理接收到release notes开始测试, 测试通过后发布测试结果,并进行版本checklist检查。 测试不通过打回, 开发重新定版发布,并汇总所有发布版本。
- 运维配置人员收到测试通过邮件, 并按照正式release命名规则进行产品发布/备份。
- 发布过程通过邮件发送通知,整体版本文档汇总在wiki空间。
- 通用产品组发布须抄送产品评审组、技术评审组,运维组,测试组。
4.2.2代码合入、编译打包与自测 、研发发布流程
版本转测试前,开发确认相关代码已全部合入gitlab库, 由开发统一接口人记录转测试代码所对应的gitlab版本号,打包 –> 自测 -> 封版。
开发自验通过标准:
- 开发阶段, 以开发人员开发的模块功能特性性能指标阶段性达到需求要求, 并且本次转测试的bug修改自验通过, 程序无致命问题, 可转测试。
- 维护阶段, 本次要转测试的bug修改自验通过, 程序无致命问题, 可转测试。
通过邮件发布产品release notes,包含以下版本配套文档列表:
文档模板参考:
编号 |
文档名 |
适用范围 |
文档出处 |
是否必需 |
1 |
release notes |
全生命周期 |
开发 |
必需 |
2 |
功能清单 |
全生命周期 |
开发 |
必需 |
3 |
接口说明书 |
全生命周期 |
开发 |
可选(通用产品组产品必选) |
4 |
部署文档 |
运维阶段 |
开发 |
可选 包含检查列表(checklist) |
5 |
数据库说明文档 |
全生命周期 |
开发 |
必需 两个版本之间的差异文档 |
6 |
产品说明书 |
交付 |
产品部 |
必需 |
4.2.3 开发转测试
测试进行产品测试,并通知运维人员发布到测试环境。
测试完成之后,测试人员通过邮件递交《版本发布checklist》。审批通过后,运维定版。
版本发布checklist:
检查项 |
检查结果 |
信息提供者 |
版本号 |
测试经理/运维配置管理 |
|
对外发布配套文档是否齐全并通过测试? |
测试经理/运维配置管理 |
|
测试报告 |
测试经理/运维配置管理 |
4.2.4 产品发布/备份
运维配置人员按照正式发布版本进行产品发布。 离线部署包随产品发布
归档,放到运维指定位置。