zoukankan      html  css  js  c++  java
  • maven的版本管理笔记

    1. 版本管理

      (1) 快照版本对应了项目的开发过程,往往对应了很长的时间;发布版本对应了项目的发布,因此仅仅代表某个时刻项目的状态。

      (2) 理想的发布版本应当对应项目某个时刻比较稳定的状态,包括源代码的状态以及构建的状态,因此这个时候的项目的构建应当满足以下几个条件:

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

      (3) 项目的快照版本更新至发布版本之后,应当再执行一次Maven构建并将源代码打上标签,以便将此版本的项目状态记录在版本控制系统中。

    2. Maven的版本号定义约定

      (1) 看一个实例:

              1.3.4-beta-2

        这往往表示该项目或产品的第一个重大版本的第三个次要版本的第四次增量版本的beta-2里程碑。

      (2) Maven的版本号定义约定: <主版本>.<次版本>.<增量版本>-<里程碑版本>

      • 主版本:表示了项目的重大架构变更。例如Maven3和Maven2相去甚远;
      • 次版本:表示较大范围的功能的增加和变化,及BUG的修复;
      • 增量版本:一般表示重大BUG的修复,例如项目发布了1.5.0版本之后,发现了一个影响功能的重大bug,则应该快速发布一个修复了BUG的1.5.1版本。
      • 里程碑版本:往往指一个版本的里程碑,这样的版本与正式的发布版本相比,往往表示不是非常的稳定,还需要很多测试。

      (3) 不是每个版本号都需要这四个部分,一般来说,主版本和次版本都会声明,但增量版本和里程碑就不一定。

    3. 自动化版本发布

      下面介绍使用Maven Release Plugin发布项目版本。

      (1) Maven Release Plugin主要有三个目标:

      • release:prepare    主板版本发布,它依次执行下列操作
        • 检查项目是否有未提交的代码
        • 检查项目是否有快照版本依赖
        • 根据用户的输入将快照版本升级为发布版
        • 将POM中的SCM信息更新为标签地址
        • 基于修改后的POM执行Maven构建
        • 提交POM变更
        • 基于用户输入为代码打标签
        • 将代码从发布版升级为新的快照版
        • 提交POM变更
      • release:roolback    回退release:prepare所执行的操作。将POM回退到release:prepare之前的状态并提交。需要注意,该步骤不会上床release:prepare生成的标签,需要手动删除。
      • release:perform    执行版本发布。签出release:prepare生成的标签中的源代码,并在此基础上执行mvn deploy命令打包并部署构建至仓库。

        

  • 相关阅读:
    springboot—spring aop 实现系统操作日志记录存储到数据库
    排名前16的Java工具类
    SpringBoot集成JWT实现token验证
    使用jQuery实现图片懒加载原理
    Spring主从数据库的配置和动态数据源切换原理
    使用Nginx过滤网络爬虫
    Java io.netty.util.ReferenceCountUtil 代码实例
    Netty系列之Netty百万级推送服务设计要点
    Java给图片和PDF文件添加水印(图片水印和文字水印)
    【TortoiseSVN】windows中连接SVN服务器的工具
  • 原文地址:https://www.cnblogs.com/wy2185/p/4660703.html
Copyright © 2011-2022 走看看