zoukankan      html  css  js  c++  java
  • 《Maven实战》笔记-9-版本管理

    一、理想的发布版本,在项目构建时需要满足以下条件:
    1、所有自动化测试应当全部通过;
    2、项目没有配置任何快照版本的依赖;
    3、项目没有任何快照版本的插件;
    4、项目所包含的代码已经全部提交到版本控制系统中;
     
    因此,将项目的快照版本更新至发布版本之后,应当再执行一次Maven构建,以确保项目状态是健康的。然后将这一变更提交到版本控制系统的主干中。接着再为当前主干的状态打上标签。以Subversion为例,这儿个步骤对应的命令如下:

     
    二、版本号的定义
    Maven的版本号定义约定是这样的:
    1. <主版本>.<次版本>.<增量版本>-<里程碑版本>
    主版本:表示项目的重大架构变更;
    次版本:表示较大范围的功能增加和变化;
    增量版本:表示重大Bug的修复;
    里程碑版本:表示一个版本的里程碑。
     
    当然,不是每个版本号都必须拥有这四个部分,但是前两个版本一般都有。
     
    三、主干、标签和分支
    1、主干trunk:项目开发代码的主体,是从项目开始直到当前都处于活动的状态。从这里可以获得项目最新的源代码以及几乎所有的变更历史。
    2、分支branch:从主干的某个点分离出来的代码拷贝,通常可以在不影响主干的前提下在这里进行重大Bug的修复,或者做一些实验性质的开发。如果分支达到了预期的目的,通常发生在这里的变更会被合井( merge)到主干中。
    3、标签tag:用来标识主干或者分支的某个点的状态,以代表项目的某个稳定状态,这通常就是版本发布时的状态。
     
    四、自动化版本发布
    当熟悉了版本发布流程之后,就会希望借助工具将这流程自动化。Maven Release plugin就提供了这样的功能,只要提供一些必要的信息。它就能帮我们完成上述所有版本发布所涉及的操作。下面介绍如何使用Maven Release plugin发布项目版本。
    Maven Release plugin主要有三个目标:分别如下:
    1、release:prepare——准备版本发布
    2、release:rollback——回退release:prepare执行的操作
    3、release:perform——执行版本发布。
     
    五、自动化创建分支
    在正式发布版本1.1.0的同时,还可以创建个分支用来修复将来这个版本可能遇到的重大Bug。这个过程可以手工完成,例如使用svn copy操作将主干代码复制到个名为1.1.x的分支中,然后修改分支中的POM文件,升级其版本为1.1.1-SNAPSHOT,这会设计很多Subversion操作。
    使用Maven Release Plugin的branch目标,能够帮助我们自动化这些操作:
    1、检查本地有无未提交的代码;
    2、为分支更改POM的版本,例如从1.1.0-SNAPSHORT改变成1.1.1-SNAPSHOT;
    3、将POM中的SCM信息更新为分支信息;
    4、提交以上更改;
    5、将主干代码复制到分支中;
    6、修改本地代码使其回到到分之前的版本;
    7、提交本地更新。
     
     
    六、Maven GPG Plugin
    使用GPG,为构件提供签名,以提供更强的安全性。
    略。
     
     





  • 相关阅读:
    MySql 学习之 一条更新sql的执行过程
    MySql 学习之 一条查询sql的执行过程
    VUE基本介绍
    ESMAScript6基本介绍
    npm
    tensorflow2.0 评估函数
    网页引入mathjax,latex
    Veno File Manager
    tensorflow 测量工具,与自定义训练
    tensorflow自定义网络结构
  • 原文地址:https://www.cnblogs.com/myitroad/p/6131229.html
Copyright © 2011-2022 走看看