跳至内容
wiki
用户工具
登录
站点工具
工具
显示页面
修订记录
反向链接
最近更改
媒体管理器
网站地图
登录
最近更改
媒体管理器
网站地图
您的足迹:
分享:技术:maven:maven_scm_release_plugin
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
====== maven-scm-plugin插件和maven-release-plugin插件的介绍 ====== ===== 背景 ===== 项目SNAPSHOT快照版本开发到一个阶段后,需要发布一个release稳定版本。一次正式的发布需要这样一些工作: - 在trunk中,更新pom版本从0.0.1-SNAPSHOT到0.0.1 - 对0.0.1打一个svn tag - 针对tag进行mvn deploy,发布稳定版本 - 更新trunk从0.0.1到0.0.2-SNAPSHOT 当然0.0.1后面紧跟的不一定是0.0.2,规范的maven版本应该是:<主版本>.<次版本>.<增量版本> * 主版本一般来说代表了项目的重大的架构变更 * 次版本一般代表了一些功能的增加或变化,但没有架构的变化 * 增量版本,一般是一些小的bug fix,不会有重大的功能变化 所以0.0.1后面可能是0.1.1也可能是1.0.1,不一定是0.0.2 接着上面继续讲,每次正式的发布你都可以手工一步步的做这些事情,无非就是一些svn操作,一些pom编辑,还有一些mvn操作。但是重复手工做这些事情,一来繁琐,而来容易出错。因此maven-scm-plugin插件和maven-release-plugin插件就是用来自动化这一系列动作。 ===== 操作 ===== <file> D:\05.HeadWorkspace\record>mvn release:prepare #进入项目目录,dir会看到pom.xml,当前版本是0.0.1-SNAPSHOT,执行脚本 ############################################################################### [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building record Maven Webapp 0.0.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-release-plugin:2.4:prepare (default-cli) @ record --- [INFO] Resuming release from phase 'scm-check-modifications' [INFO] Verifying that there are no local modifications... [INFO] ignoring changes on: **\release.properties, **\pom.xml.next, **\pom.xml .releaseBackup, **\pom.xml.backup, **\pom.xml.branch, **\pom.xml.tag [INFO] Executing: cmd.exe /X /C "svn --non-interactive status" [INFO] Working directory: D:\05.HeadWorkspace\record [INFO] Checking dependencies and plugins for snapshots ... What is the release version for "record Maven Webapp"? (com.gxx:record) 0.0.1: : ############################################################################### ->输入回车,以0.0.1为发布版本,也可以输入新的版本 ############################################################################### What is SCM release tag or label for "record Maven Webapp"? (com.gxx:record) rec ord-0.0.1: : ############################################################################### ->输入回车,以record-0.0.1为tag标签名称,也可以输入新的标签 ############################################################################### What is the new development version for "record Maven Webapp"? (com.gxx:record) 0.0.2-SNAPSHOT: : ############################################################################### ->输入回车,以0.0.2-SNAPSHOT为新的开发版本,也可以输入新的版本 ############################################################################### ... [INFO] Release preparation complete. [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 32.574s [INFO] Finished at: Mon Jul 06 16:03:00 CST 2015 [INFO] Final Memory: 4M/8M [INFO] ------------------------------------------------------------------------ ############################################################################### 这个时候在svn://121.43.104.34/gxx/tags/record下可以看到名字为record-0.0.1的tag pom.xml从0.0.1-SNAPSHOT变成0.0.2-SNAPSHOT,并提交svn record文件夹下会出现俩文件:pom.xml.releaseBackup和release.properties D:\05.HeadWorkspace\record>mvn release:perform #再执行脚本 maven-release-plugin会自动帮我们检出刚才打的tag,然后打包,分发到nexus私有仓库中 </file>
分享/技术/maven/maven_scm_release_plugin.1436253576.txt.gz
· 最后更改: 2015/07/07 15:19 由
gxx
页面工具
显示页面
修订记录
反向链接
回到顶部