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插件的更多相关文章

  1. Maven版本管理-Maven Release Plugin插件

    一.什么是版本管理 首先,这里说的版本管理(version management)不是指版本控制(version control),但是本文假设你拥有基本的版本控制的知识,了解subversion的基 ...

  2. 记录一次maven打包时将test目录下的类打包到jar中,Maven Assembly Plugin的使用

    今天有人问我打包后找不到主类,运行的类写在test中.按照常规,test目录下的文件不会打包到jar包中.(但是我测试一个springboot工程就可以,这里之后再研究) 具体解决如下 第一步:在po ...

  3. AS 自定义 Gradle plugin 插件 案例 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. Maven学习总结(27)——Maven自定义打包插件maven-assembly-plugin详解

    Assembly插件会生成 "assemblies", 此特性等同于的Maven 1 distribution plug-in..该插件不仅支持创建二进制归档文件,也支持创建源码归 ...

  5. Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告

    最近在做基于jenkins ant  junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...

  6. 学习Maven之Maven Enforcer Plugin

    1.Maven Enforcer plugin是什么鬼? 在说这个插件是什么前我们先思考这么一个问题:当我们开发人员进入项目组进行开发前,要准备开发环境,而领导总是会强调工具的统一,编译环境的统一.比 ...

  7. [Apache Maven Shade Plugin] [example] [001] 官方例子:includes-excludes

    链接地址:[Selecting Contents for Uber JAR](http://maven.apache.org/plugins/maven-shade-plugin/examples/i ...

  8. 施用 maven shade plugin 解决 jar 或类的多版本冲突

    施用 maven shade plugin 解决 jar 或类的多版本冲突   使用 maven shade plugin 解决 jar 或类的多版本冲突java 应用经常会碰到的依赖的三方库出现版本 ...

  9. maven中jetty插件配置

    maven中jetty插件的配置,可用于项目在内置jetty服务器中的部署. <plugin> <groupId>org.mortbay.jetty</groupId&g ...

随机推荐

  1. 利用pandas随机切分csv文件

    把数据集随机切分为训练集和测试集 method 1: df = pd.read_csv('data/tgnb_merge.csv', encoding='utf-8') df.drop_duplica ...

  2. android Camera模块分析

    Android Camera Module Architecture and Bottom layer communication mechanism              ----------- ...

  3. Django model.py表单设置默认值允许为空

    blank=True 默认值为blank=Flase,表示默认不允许为空, blank=True admin级别可以为空   null=True 默认值为null=Flase,表示默认不允许为空 nu ...

  4. 如何快速编写和调试 Emit 生成 IL 的代码

    .NET Core/.NET Framework 的 System.Reflection.Emit 命名空间为我们提供了动态生成 IL 代码的能力.利用这项能力,我们能够在运行时生成一段代码/一个方法 ...

  5. 从 “x is null 和 x == null” 的区别看 C# 7 模式匹配中常量和 null 的匹配

    尝试过写 if (x is null)?它与 if (x == null) 相比,孰优孰劣呢? x is null 还有 x is constant 是 C# 7.0 中引入的模式匹配(Pattern ...

  6. Hadoop简介(1):什么是Map/Reduce

    看这篇文章请出去跑两圈,然后泡一壶茶,边喝茶,边看,看完你就对hadoop整体有所了解了. Hadoop简介 Hadoop就是一个实现了Google云计算系统的开源系统,包括并行计算模型Map/Red ...

  7. k8s helm 包管理私服chartmuseum 安装

    备注:   预备环境需要安装helm  1. 安装chartmuseum  参考 # on Linux curl -LO https://s3.amazonaws.com/chartmuseum/re ...

  8. 如何点焊过的镍片再次焊接到 PCBA 上?

    如何将点焊过的镍片再次焊接到 PCBA 上? 在 PCBA 上贴了镍片再点焊,这样的制造工艺可以大大减少人工处理,提高生产通过率. 由于种种原因,有些机器可能有故障需要维修,而且电池又需要拆下来,才能 ...

  9. 莫名其妙的js基础学习!

    JavaScript基本组成部分: 1,ECMAScript:js的语法标准,基本的变量,运算符,函数,if语句,for语句等 2,DOM:操作网页上的元素API,比如盒子的移动,变色,轮播图等. 3 ...

  10. SysTick_Config

    SystemCoreClockUpdate();SysTick_Config(SystemCoreClock/2000);   //500us