本文最后更新于 1297 天前,其中的信息可能已经有所发展或是发生改变。
依据Semver2版本标准,和业界保持基本一致。
🐤主版本号
- 版本号使用三位版本号,
X.Y.Z,不足三位的补齐为三位,如0.1.0,1.0.0,1.2.0。 - 一位版本
- 无法向下兼容时。
- 当软件和产品发生巨大变化时。
- 二位版本
- 软件和产品增加新的特性。
- 三位版本
- 产品累积的维护性需求或bug。
扩充版本号
- alpha版本
- 演示版采用
alpha版本命名,如3.1.5的演示版为3.1.5-alpha.1。 - 版本顺序为
3.1.5-alpha.1<3.1.5。
- 演示版采用
- beta版本
- 如果在某个主版本前需要提前发布临时版本,则采用
beta版本命名,如在3.1.5前要临时增加一个版本,则为3.1.5-beta.1,表示3.1.5前的beta版本。 - 试用版也采用
beta版本命名。 - 版本顺序为
3.1.5-beta.1<3.1.5。
- 如果在某个主版本前需要提前发布临时版本,则采用
- patch版本
- 修复生产环境的紧急缺陷,则采用
patch版本命名,如基于3.1.5打的第一个patch为3.1.5-patch.1。 - 如果基于
beta版本发布patch,命名为x.y.z-beta.n-patch.n,如:3.1.5-beta.1-patch.1。 - 版本顺序为
3.1.5-patch.1>3.1.5。
- 修复生产环境的紧急缺陷,则采用
版本号细则说明
- 版本号只允许使用
数字、小写英文字母、.、-;.用来连接版本号数字,-用来连接alpha、beta、patch等版本标识符。 - 版本号中的数字(包括0)不可省略,1位版本号表示为
1.0.0,2位版本号表示为1.1.0,0不可省略。 - 在alpha、beta、patch后的版本号数字不可以省略,从1开始,如3.1.5的第一个patch命名为
3.1.5-patch.1。 - 版本号后可增加其它自定义版本号标识,如
CPU型号、操作系统、客户标识等。自定义版本号标识统一放末尾,如3.1.5-x86、3.1.5-arm、3.1.5-patch.1-x86。 -
版本号定义要清晰简洁,在保证版本号含义没有歧义的情况下尽量避免多种自定义版本号标识累加
- 禁止通过版本号区分一个产品下的多个服务。
- 禁止版本号中带有产品名称或产品ID。
- 禁止版本号中带有该版本的需求名称或需求ID。
- 禁止将版本号当成备注使用。
- 版本号顺序为
3.1.5-alpha.1 < 3.1.5-beta.1 < 3.1.5 < 3.1.6-beta.1 < 3.1.6-beta.1-patch.1 < 3.1.6 < 3.1.6-patch.1。
初始开发阶段版本号
- 以 0.1.0 作为初始化开发版本,并在后续的每次发行时递增次版本号。
何时发布 1.0.0 版本
- 部署到生产环境。
- API 被使用者依赖。

