maven版本管理

maven版本管理

版本管理(Version Management): 项目整体版本的演变过程管理.如1.0-SNAPSHOT -> 1.0 -> 1.1-SNAPSHOT
版本控制(Version Control): 指借助版本控制工具(svn,git)追踪代码的每一次变更.

版本管理

发布版(Release): 版本可定位到的唯一构建.
快照(Snapshot): 定位的构建可随时变化的版本

发布版本要求:

  1. 所有自动化测试应当全部通过
  2. 项目没有配置任何快照版本的依赖
  3. 项目没有配置任何快照版本的插件
  4. 项目所包含的代码已经全部提交到版本控制系统中

版本管理流程:

  1. 发布快照版本1.0-SNAPSHOT
  2. 快照版本功能实现,并满足发布版本要求后,生成发布版本1.0
  3. 打标签关联发布版本与版本控制源码.发布版本应该在版本控制系统中增加标签,进行定位发布版本,便于源码定位以及版本对比,乃至构建重新生成;
  4. 进入新的快照版本1.1-SNAPSHOT
    ...

版本号约定:

1.3.4-beta-2

含义:产品的第一个重大版本(1)的第三个次要版本(3)的第四次增量版本(4)的beta-2里程碑

约定格式:

<主版本>.<次版本>.<增量版本>-<里程碑版本>

主版本: 项目的重大架构变更.如jdk8到jdk9
次版本: 较大范围的功能增加和变化及bug修复.但总体架构上变化不大.如jdk9到jdk10
增量版本: (可选)一般表示重大bug的修复.
里程碑版本: (可选)某一个版本的里程碑.这样的版本与正式的版本相比,往往不稳定,还需要很多测试.

版本控制

主干(trunk): 项目开发代码的主体,从项目开始直到当前都处于活动的状态.
分支(branch): 从主干的某个点分离出来的代码拷贝,通常可在不影响主干的前提下,在这里进行重大bug修复,或进行一些实验性的开发.分支开发达到预期,需要合并(merge)到主干中
标签(tag): 用来标识主干或分支的某个点的状态,以代表项目的某个稳定状态,这通常就是版本发布时的状态.

流程自动化

支持自动化发布版本发布
自动化生成分支
自动化生成标签

posted @ 2022-04-19 11:24  橙木鱼  阅读(1368)  评论(0编辑  收藏  举报