使用maven-release-plugin的应用场景是什么?

插件的场景是什么?

在实际工作中,都是基于SNAPSHOT版本进行开发的,开发完毕需要发布一个对应的RELEASE版本,然后再将当前的最新代码版本更新为下一个SNAPSHOT版本,如果手动完成这些工作还是比较麻烦的,而该插件解决了以上提到的所有问题。也就是说该插件完成版本了从1.0-SNAPSHOT到1.0再到1.1-SNAPSHOT的处理。

插件执行流程是什么?

①。 检查本地有无未提交的代码; ②。 检查项目是否有快照版本依赖; ③。 执行单元测试,生成API文档; ④。 在本地和远程库的GIT中打上对应版本的tag; ⑤。 将SNAPSHOT版本升级为release版本,发布release版本到指定私服上; ⑥。 修改pom版本为新的SNAPSHOT版本(之前快照版本的下一个版本),基于修改后的POM执行MAVEN构建,提交POM变更。

插件的目标有哪些?

maven-release-plugin主要有三个目标:

插件目标描述命令
release:prepare准备版本发布,主要是变更POM的内容、创建TAGmvn release:prepare
release:rollback回退所有版本准备阶段的操作mvn release:rollback
release:perform执行版本发布mvn release:perform

如何修改POM配置?

需要在整个工程的父POM中添加/修改为以下内容:

<scm>
	<url>https://github.com/hongwen1993/fast-drools-spring-boot-starter</url>
    <connection>
     	scm:git:https://github.com/hongwen1993/fast-drools-spring-boot-starter
    </connection>
    <developerConnection>
     	scm:git:git@github.com/hongwen1993/fast-drools-spring-boot-starter.git
    </developerConnection>
</scm> 
<build>
     <plugins>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-release-plugin</artifactId>
           <version>2.5.3</version>
           <configuration>
           		<!-- 是否允许带时间戳的 SNAPSHOT 依赖项。 默认false-->
           		<allowTimestampedSnapshots>true</allowTimestampedSnapshots>
           		<!--是否为子版本分配父亲版本号,默认false-->
	            <autoVersionSubmodules>true</autoVersionSubmodules>
	            <tagNameFormat>v@{project.version}</tagNameFormat>
	            <generateReleasePoms>false</generateReleasePoms>
	            <arguments>-DskipTests</arguments>
           </configuration>
         </plugin>
     </plugins>
</build>

<!--分发配置-->
<distributionManagement>
    <repository>
        <id>releases</id>
        <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
    </repository>
    <snapshotRepository>
        <id>snapshots</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
</distributionManagement>

从1.0-SNAPSHOT到1.0再到1.1-SNAPSHOT的处理

在父POM中配置完毕后,仅仅需要执行以下两条命令即可完成:

mvn release:prepare
mvn release:perform
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cloneme01

谢谢您的支持与鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值