依据 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 被使用者依赖。
评论区