1.打包版本区别
SNAPSHOT 快照版本(开发阶段,不稳定,容易出现bug)
RELEASE 正式版本(外部依赖使用阶段,稳定,很少出现bug)
Tag :标记每次代码提交的版本(比较稳定,类似分支)
2.release plugin 插件的作用
①检查本地有无未提交的代码
②检查项目是否有快照版本依赖
③执行单元测试,生成API文档
④在本地和远程库的GIT中打上对应版本的tag
⑤将SNAPSHOT版本升级为release版本,发布release版本到指定私服上
⑥修改pom版本为新的SNAPSHOT 版本(之前快照版本的下一个版本),基于修改后的POM执行maven构建,提交POM变更
3.实现配置
pom文件配置
4.操作流程
4.1 mvn release:prepare:打包前的准备
①检测代码是否有未提交的代码,检查项目的POM依赖或插件是否有SNAPSHOT版本,执行单元测试(跳过单元测试:-Darguments="-DskipTests")
②输入对应的release需要打包的版本等信息,如果不输入有默认的内容
③将需要记录和准备的内容缓存到pom.xml目录下的release.properties文件中
④在本地和远程库的GIT中打上对应版本的tag
4.2 mvn release:rollback:后悔药
如果在准备阶段发生错误,或者需要修改某些地方的话,就需要到这个命令了
①将POM的配置回到release:prepare之前的状态。但需要注意的是,不会删除tag 需要手动删除git上的tag和本地的tag: git tag -d ...
4.3 mvn release:perform
①生成API文档(取消构建api文档:-DuseReleaseProfile=false)
②将pom文件之前的1.0-SNAPSHOT改为1.1-SNAPSHOT, 将1.0的release版本deploy至scm配置的nexus release库中,提交pom文件变更
4.4 流程图
5.演示截图
5.1 mvn release:prepare
指定打包版本
生成两个临时文件
本地和线上git上打tag
5.2 mvn release:rollback
删除临时生成的release.properties文件和pom的备份文件,但是不会删除线上和本地的tag,需要手动删除
5.3 mvn release:perform
发布release版本到指定私服上
升级本地pom中的快照版本,并 保存提交到git上