@iamfox
2015-05-31T14:56:42.000000Z
字数 1316
阅读 1365
汇银 规范
在一个平台上的项目和应用越来越多以后,每一个项目如果没有清晰的版本管理规则,各处代码修改记录混杂,就会陷入维护和扩展的泥潭。
我们每开发一个项目或应用前,对于该项目的版本号是要独立维护,还是归父项目维护要做一个决定。
拥有独立版本号的项目,就意味着这个项目可以单独打包发布到生产环境,无独立版本号的项目不可以单独发布,必须随着拥有版本号的父级项目共同发布。
如果要独立维护版本号,按照Maven官方建议,采用1.0.0-SNAPSHOT这样的格式。1.0.0-SNAPSHOT是每个项目的初始版本号。
第一位数字代表大版本,仅当功能或架构有重大变化时会升级。
第二位数字代表功能正常迭代版本,一个新的功能特性开发周期完成后会升级。
第三位数字代表临时版本,当需要做紧急bug修复或非常规紧急发布时升级。
后缀有两种,SNAPSHOT代表正在开发未上线的版本,代码随时会变。RELEASE代表上线版本,代码不会再变动。RELEASE后缀也可以省略。
代码分支并非只有建立新版本时可用,在一个开发版本内有多个大功能,并且难以确定是否会随着版本全部发布时,可以针对每个功能建立一个开发分支,相关开发人员仅在自己负责开发的功能对应的分支内工作并提交代码。当该功能确定可用并将要发布时,由开发负责人将其合并到当前版本开发分支中。这样可避免半成品功能对线上项目产生影响。
鼓励使用功能分支来开发新功能,可将该分支命名为1.1.0-SNAPSHOT-XXXX。XXXX为该功能对应的开发任务在项目任务管理系统中的代号。
版本的升级发布可以手工完成,也可以使用Maven的Release插件相关命令完成。具体操作过程可参见:Maven最佳实践:版本管理