maven release plugin插件
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上

maven release plugin插件的更多相关文章
- Maven版本管理-Maven Release Plugin插件
一.什么是版本管理 首先,这里说的版本管理(version management)不是指版本控制(version control),但是本文假设你拥有基本的版本控制的知识,了解subversion的基 ...
- 记录一次maven打包时将test目录下的类打包到jar中,Maven Assembly Plugin的使用
今天有人问我打包后找不到主类,运行的类写在test中.按照常规,test目录下的文件不会打包到jar包中.(但是我测试一个springboot工程就可以,这里之后再研究) 具体解决如下 第一步:在po ...
- AS 自定义 Gradle plugin 插件 案例 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- Maven学习总结(27)——Maven自定义打包插件maven-assembly-plugin详解
Assembly插件会生成 "assemblies", 此特性等同于的Maven 1 distribution plug-in..该插件不仅支持创建二进制归档文件,也支持创建源码归 ...
- Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告
最近在做基于jenkins ant junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...
- 学习Maven之Maven Enforcer Plugin
1.Maven Enforcer plugin是什么鬼? 在说这个插件是什么前我们先思考这么一个问题:当我们开发人员进入项目组进行开发前,要准备开发环境,而领导总是会强调工具的统一,编译环境的统一.比 ...
- [Apache Maven Shade Plugin] [example] [001] 官方例子:includes-excludes
链接地址:[Selecting Contents for Uber JAR](http://maven.apache.org/plugins/maven-shade-plugin/examples/i ...
- 施用 maven shade plugin 解决 jar 或类的多版本冲突
施用 maven shade plugin 解决 jar 或类的多版本冲突 使用 maven shade plugin 解决 jar 或类的多版本冲突java 应用经常会碰到的依赖的三方库出现版本 ...
- maven中jetty插件配置
maven中jetty插件的配置,可用于项目在内置jetty服务器中的部署. <plugin> <groupId>org.mortbay.jetty</groupId&g ...
随机推荐
- onunload、onbeforeunload事件详解--zhuan
最近项目中做到一个功能:在上传页面用户开始上传文件之后用户点击任意跳转都需要弹出提示层进行二次确定才允许他进行跳转,这样做的目的是为了防止用户的错误操作导致这珍贵的UGC 流失(通常用户在一次上传不成 ...
- 转--ES6 Promise 用法讲解
Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方法,原型上有then.catch等同样很眼熟的方法. 那就new一个 var p = new Promise( ...
- SpringMVC札集(10)——SSM框架整合
自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...
- [AirFlow]AirFlow使用指南三 第一个DAG示例
经过前两篇文章的简单介绍之后,我们安装了自己的AirFlow以及简单了解了DAG的定义文件.现在我们要实现自己的一个DAG. 1. 启动Web服务器 使用如下命令启用: airflow webserv ...
- oracle数据库导入导出09192255
1.导入数据库(dmp) Linux系统中: 1. 用root账号登录服务器,然后切换到oracle账号(安装oracle数据库的时候用的用的账号) 2. 切换到oralce的安装目录下的bin下 3 ...
- 在exsi6.0中安装debian8.1 64位 无界面服务器版.
之前介绍了exsi6.0的安装. 现在开始应用. 上一篇介绍的exsi6.0是安装在U盘上的系统.U盘为群联芯片,芯片型号为2251-50/30.容量为2G.发现容量足够用.比较节省成本. 现在开始为 ...
- 20165212 学习基础和C语言基础调查
学习基础与C语言基础调查 阅读文章的心得体会 五篇文章都从不同角度阐述了毅力的重要性,打字.减肥.运动各方面,比如“每天一万步”这个任务,人们通过建群聊互相监督.“打卡”的方式来实现坚持的目的,我认为 ...
- 《DSP using MATLAB》示例Example6.29
代码: % The following funciton computes the filter % coefficients shown in Table 6.2 b = firpm(30, [0, ...
- Git之安装管理
1.Git安装部署 Git是分布式的版本控制系统,我们只要有了一个原始Git版本仓库,就可以让其他主机克隆走这个原始版本仓库,从而使得一个Git版本仓库可以被同时分布到不同的主机之上,并且每台主机的版 ...
- json常用方法和本地存储方法
1.JSON.parse()[把json字符串解析成json对象] 2.JSON.stringify()[把json对象中解析成json字符串] <script> let obj = '{ ...