码迷,mamicode.com
首页 > 其他好文 > 详细

版本管理

时间:2017-01-06 18:37:03      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:更新   develop   work   包含   记录   命令   rollback   基础   名称   

版本管理是指项目整体版本的演变过程管理,如从1.0-SNAPSHOT到1.0再到1.1-SNAPSHOT。

版本控制是指借助版本控制工具追踪代码的每一个变更。

快照版本变更发布版本应满足几个条件:

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

版本控制系统记录代码的每一个变化,通常这些变化都被维护在主干中,但当项目发布的时候,开发人员应该使用标签记录这一特殊时刻项目的状态。

Maven的版本号定义约定是<主版本>.<次版本>.<增量版本>-<里程碑版本>。主版本和次版本之间以及次版本和增量版本之间用点号分隔,里程碑版本之间用连字符号分隔。主版本表示了项目的重大架构变更;次版本表示较大范围的功能增加和变化及bug修复;增量版本一般表示重大bug的修复;

 

Maven Release Plugin主要有是三个目标:

  release:prepare  准备版本发布,依次执行下列操作

    检查项目是否有未提交代码

    检查项目是否有快照版本依赖

    根据用户的输入将快照版本升级为发布版

    将POM中的SCM信息更新为标签地址

    基于修改后的POM执行Maven的构件

    提交POM变更

    基于用户输入为代码打标签

    将代码从发布版升级为新的快照版

    提交POM变更

  release:rollback  回退release:prepare所执行的操作。将POM回退至release:prepare之前的状态,并提交。该步骤不会删除release:prepare生成的标签。用户需要手动删除

  release:perform  执行版本发布。签出release:prepare生成的标签中的源代码,并在此基础上执行mvn deploy命令打包部署构件至仓库

Maven添加正确的版本控制系统信息

<scm>
    <connection>scm:git:http://</connection>  //只读的scm地址
    <developerConnection>scm:git:https://</developerConnection>  //可写的scm地址
    <url>http://</url>  //浏览器中可访问的scm地址
</scm>

标签的基础目录

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.0</version>
    <configuration>
        <tagbase>https://</tagbase>
    </configuration>
</plugin>

mvn release:prepare  //Maven Release Plugin开始准备发布版本,若检测到项目有未提交的代码,或项目有快照版本的依赖,则会提示出错。若一切正常,会提示用户输入想要发布的版本号、标签的名称以及新的快照版本号

mvn release:perpare -DautoVersionSubmodules = true  //所有模块的发布版本以及新的SNAPSHOT开发版本都保持一致

mvn release:perform //该命令将标签中的代码签出,执行mvn deploy命令构件新的版本

perform不仅项目的主构件会被生成并发布到仓库中,基于该主构件的-source.jar和-javadoc.jar也会生成并发布。Maven的超级POM中定义了一个名为release-profile的Maven Profile。

 

使用Maven Release Plugin的branch目标,能够帮助我们创建一个分支用来修复当前版本可能遇到的bug

mvn release:branch -DbranchName=1.1.x -DupdateBranchVersions=ture  -DupdateWorkingCopyVersions=false

 

版本管理

标签:更新   develop   work   包含   记录   命令   rollback   基础   名称   

原文地址:http://www.cnblogs.com/forerver-elf/p/6257179.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!