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 ...
随机推荐
- jsp中把js变量赋给java变量,或者将java变量赋给js变量怎么做?
在jsp中经常会遇到把js变量赋给java变量,或者将java变量赋给js变量的情况,在此将通用的处理方法小结如下: java变量传给js好办,var a=”<%=javaParam%>“ ...
- Kafka 单节点单Kafka Broker集群
下载与安装 从 http://www.apache.org/dist/kafka/ 下载最新版本的 kafka,这里使用的是 kafka_2.12-0.10.2.1.tgz $ tar zxvf ka ...
- oracle 查询XML操作、操作系统文件
--1.随机数 select dbms_random.value from dual; select mod(dbms_random.random, 10) from dual; --0-9随机数 s ...
- Swift 菊花、UIPageControl和UIProgressView
// Make: 加载 菊花 func _initUIActivityIndicatorView() { let activity = UIActivityIndicatorView(activity ...
- caffe学习4——net
参考文献 1 The net jointly defines a function and its gradient by composition and auto-differentiation. ...
- 使 WPF 支持触摸板的横向滚动
微软终于开始学苹果一样好好做触摸板了(就是键盘空格键下面那一大块).然而鉴于以前没有好好做,以至于 WPF 程序甚至都没有对触摸板的横向滚动提供支持(竖向滚动是直接使用了 MouseWheel,汗-- ...
- Python学习-字典练习:简单通讯录
功能要求: 查询联系人,输入姓名,可以查询当前通讯录里面的联系人信息,若联系人存在,则输出联系人信息,若不存在,则告知 插入联系人,可以向通讯录中新建联系人,若联系人已经存在,则询问是否修改联系人信息 ...
- python3 升级 pip9.0.1 到pip-9.0.3
首先试试 python -m pip install --upgrade pip python3.5 升级 pip-9.0.3报错 You are using pip version 9.0.1, h ...
- 《selenium2 python 自动化测试实战》(8)——定位iframe
我们来看一段最早的代码: # coding: utf-8 from selenium import webdriverfrom time import sleep driver = webdriver ...
- c++调用fortran程序中遇到的问题
一.C++动态调用Fortran DLL (1)创建FORTRAN DLL工程,生成forsubs.dll文件供调用. ! forsubs.f90 ! ! FUNCTIONS/SUBROUTINES ...