logback自动打包_使用release自动打包发布正式版详细教程

昨天写了个release插件的版本管理,今天就在自动发布过程中遇到了许多坑,只能再写一篇自动发布详细教程,纪念我那昨日逝去的青春 (╥ _ ╥`)

release正常打包发布流程按照如下几个阶段:

Check that there are no uncommitted changes in the sources

Check that there are no SNAPSHOT dependencies

Change the version in the POMs from x-SNAPSHOT to a new version (you will be prompted for the versions to use)

Transform the SCM information in the POM to include the final destination of the tag

Run the project tests against the modified POMs to confirm everything is in working order

Commit the modified POMs

Tag the code in the SCM with a version name (this will be prompted for)

Bump the version in the POMs to a new value y-SNAPSHOT (these values will also be prompted for)

Commit the modified POMs

1. 检出项目

由上述流程可知,release打包发布成功的前提条件是于svn库中代码完全一致(包括配置文件、target文件夹、.classpath文件等),所以不能直接在eclipse进行build。

因此我们需要新建一个文件夹,重新检出项目,专门进行打包发布。

2.  开始打包

在platform中打开控制台输入命令:

测试命令(以文字型输出,并未真正发布):

mvn -DdryRun=true release:prepare-with-pom

正式命令:

mvn release:prepare-with-pom

正常应出现:

如果要用默认值,就直接回车。

“你想将1.1.7-SNAPSHOT发布为什么版本?默认1.1.7。”    我要1.1.7,直接回车。

“发布的tag标签名称是什么?默认为v1.1.7。”    我还是要默认值,直接回车。

“主干上新的版本是什么?默认为1.1.8-SNAPSHOT。”   哈,release插件会自动帮我更新版本到1.1-SNAPSHOT,很好,直接回车。

然后屏幕刷阿刷,maven在build我们的项目,并进行了一些svn操作,你可以仔细查看下日志。

然而事情有时并不是和你想象的那样顺利!  (╯>㉨

你可能会遇到这种情况:

解决方案:

这是platform的子模块存在快照版本的依赖,应改为正式版。(即没有-SNAPSHOT的jar版本)

或者这种情况:

运行发布命令直接失败,显示release无依赖!!!

解决方案:

检查配置是否齐全。

platform父级模块的配置:

scm:svn:svn://SVN主路径地址/trunk/

org.apache.maven.plugins

maven-release-plugin

2.5.3

true

v@{project.version}

false

-DskipTests

console、service等子模块的配置

org.apache.maven.plugins

maven-release-plugin

2.5.3

又或者这种情况:

运行发布命令直接失败,显示有与SVN库代码不一致。

解决方案:

更新platform打包发布文件夹。

还不是?那么你凉了,赶紧删库跑路吧!✧*。٩(^㉨^*)و✧*。

给你个传送门,快往这里跑!    内有恶犬

3.  清除release configuration信息

在发布或测试发布之后,会产生发布配置信息,如果下次再发布就需要将其删除,保持和SVN库代码一致。

所用命令:

mvn release:clean

4.  清除target文件夹

同上,必须和SVN库代码保持一致。

所用命令:

mvn clean

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值