软件版本管理
概述
随着公司业务的壮大,监测软件更加复杂,更新迭代速度加快,需要确立一个规范的软件版本命名规范,方便开发、部署、运维管理。
版本控制的主要功能是记录开发过程中的每一次修改,让开发的工作可以随时检查过往历史记录和获得正确版本,是系统成长记录。
软件版本命名
格式
1 | 软件项目[-模块]-主版本号.子版本号.修订版本号.日期版本号_希腊字母版本号 |
软件项目:软件项目名称,一般使用公司缩写+项目缩写,如汇源在线监测系统为 hyioms,使用小写字母,多个单词时小写驼峰形式。
模块:软件项目中的模块名称,如果项目没有分模块则不需添加,使用小写字母,多个单词时小写驼峰形式。
主版本号:功能模块有较大变动,比如增加多个模块或整体架构发生变化。
子版本号:功能有一定的增加或变化。
修订版本号:一般是 Bug 修复或是一些小的变动,要经常发布修订版,时间间隔不限,修复一个严重的 Bug 即可发布一个修订版。
日期版本号:用于记录修改项目的当前日期,每天对项目的修改都需要修改日期版本号,开发人员根据修改内容觉得是否修改。日期格式为 yyMMdd。
希腊字母版本号:用于标注当前版本的软件处于哪个开发阶段,当软件进入到另一个阶段时需要修改此版本号。包括:
版本 | 说明 |
---|---|
apache | 内测版,实现软件功能,通常只用于软件开发者内部交流,一般bug较多 |
beta | 公测版,相对apache版有了很大改进,消除严重错误,但还是存在一些缺陷,需要多次测试进一步消除 |
RC | Release Candidate,发行候选版,已经相当成熟了,基本不存在导致错误的bug,与将要发行的正式版本相差无几 |
release | 发行版,最终版本,最终交付给用户使用的一个版本 |
示例
软件名称:hyioms-core-5.1.12.200115_beta
- “hyioms” 为软件项目名称
- “core” 为模块名称
- “5” 为主版本号
- “1” 为子版本号
- “12” 为修订版本号
- “200115” 为日期版本号,表示修改为2020年1月15日
- “beta” 表示该版本为公测版本。
总结
网上流行的软件都会严格的按照规范进行命名,这样在用户下载的时候,一眼就能看出是什么版本,不会出现因为版本不对导致不兼容。在我们自己做开发的时候,也应该尽量按照规范对软件进行命名,这样以后维护和使用起来更方便一些。