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 @   橙木鱼  阅读(1376)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2021-04-19 git ignore 微软临时文件(~$xxx.xlsx)
点击右上角即可分享
微信分享提示