1、版本管理
定义:项目整体版本的演变过程管理;
版本控制是指借助版本控制工具追踪代码的每一个变更;
Maven版本分为快照版和发布版;快照版是用于在项目开发过程中,方便团队内部交流,定位的构件随时可能发生变化。而发布版是在项目需要对外发布时提供的,对应了项目某个时刻比较稳定的状态,包括源码的状态和构建的状态。
项目稳定状态满足的条件:
- 所有自动化测试全部通过
- 项目没有配置任何快照版本的依赖
- 项目没有配置任何快照版本的插件
- 项目所包含的代码都已经全部提交到了版本控制系统中
- 项目快照版本更新至发布版本后,再执行一次maven构建,确保项目状态是健康的
- 将这一次变更提交到版本控制的主干中,并打上标签
2、maven的版本号定义约定
下载jar包的时候经常会发现这样的jar包:1.2.3-beat-4.jar
每个数字的含义:
- “ 1 ” : 表示该版本的第一个重大版本
- “ 2 ” : 表示这是基于重大版本的第二个次要版本
- “ 3 ” : 表示该次要版本的第三个增量
- " beat-4" : 表示该增量的一个里程碑
用一个图来描述: < 主版本 > ------ < 次版本 > ------ < 增量版本 > ------ < 里程碑版本 >
- 主版本:表示了项目的重大架构变更 struts1 -- struts2
- 次版本:表示较大范围的功能增加和变化 Nexus1.5 ---- Nexus1.4
- 增量版本:一般表示重大Bug修复
- 里程碑版本:指某一个版本的里程碑 .-alpha-1 .-beat-1
主版本和次版本都是必要的,剩下两个不是必须的
3、主干、标签和分支
主干:项目开发代码的主体,是从项目开始到当前都处于活动的状态,从这里可以获得项目最新的源代码和几乎所有的变更历史
分支: 从主干的某个点分离出来的代码拷贝,通常可以在不影响主干的前提下,在这里进行重大的bug修复或者实验性质的开发,如果达到了预期的目的,通常将这里的变更合并到主干中去。
标签: 用来标识主干或者分支的某个点的状态,以代表项目的某个稳定状态,也就是通常说的发布状态