软件版本管理

概述

随着公司业务的壮大,监测软件更加复杂,更新迭代速度加快,需要确立一个规范的软件版本命名规范,方便开发、部署、运维管理。

版本控制的主要功能是记录开发过程中的每一次修改,让开发的工作可以随时检查过往历史记录和获得正确版本,是系统成长记录。

软件版本命名

格式

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” 表示该版本为公测版本。

总结

网上流行的软件都会严格的按照规范进行命名,这样在用户下载的时候,一眼就能看出是什么版本,不会出现因为版本不对导致不兼容。在我们自己做开发的时候,也应该尽量按照规范对软件进行命名,这样以后维护和使用起来更方便一些。