使用自动化插件发行版来管理Maven项目的版本发行版

在实际的开发过程中,尤其是现在推荐的敏捷开发中,项目版本经常发布,并且可能每周发布一个版本。

对于多模块项目,如何在发布时统一升级项目版本,如果所有操作均由人为操作,则很容易遗漏某个模块的版本并引起问题。

本文将要介绍的是使用Maven插件统一管理这些模块的版本并标准化该过程。

插件:maven-release-plugin 1.环境和目标1.示例环境:在Maven groupId> com.futaogroupId> artifactId> starter-fustackartifactId> version> 0.0.1上构建的多模块项目的父项目的坐标。

-SNAPSHOT版本>名称>启动器-fustackname>子模块列表:modules> > fustack-wx-mini-programmodule> > fustack-autoconfigurationmodule> > fustack-constsmodule> > demo-testmodule> > fustack-dbmodule> > fustack-foundationmodule> > fustack-腾讯云-短消息模块> > fustack-webmodule> > fustack-authmodule> > fustack-exceptionsmodule> > fustack-redismodule> > fustack-utilsmodule>模块> 2.示例目标:当前处于开发阶段,项目的版本为:0.0.1-SNAPSHOT,此版本的正式版本即将发布:0.0.1,并且在正式版本发布后,下一个开发版本是:0.0.2-SNAPSHOT。

并同时将构建的组件发布到Maven专用服务器。

2.插件简介插件:maven-release-plugin命令:mvn release:prepare:准备发布版本检查项目是否包含未提交的代码(如果有),将报告错误。

检查项目是否依赖于快照版本。

提示用户输入要发布的版本号,并自动将项目中pom文件中的版本号更新为用户输入的版本号。

提示用户输入标记名。

基于修改后的pom进行构建。

将pom更改提交到VCS。

提示用户输入下一个开发版本的版本号,并将项目中pom文件中的版本号自动更新为用户输入的版本号。

将pom更改提交到VCS。

mvn release:rollback:回退准备阶段的操作,将pom回退到以前的状态并提交,但不会删除prepare生成的标记标签。

mvn release:执行:执行版本发布,执行mvn deploy命令以打包组件并将组件部署到远程仓库。

3.演示过程1.添加发行插件支持插件> groupId> org.apache.maven.pluginsgroupId> artifactId> maven-release-pluginartifactId> maven-release-pluginartifactId> https://github.com/FutaoSmile/starter-fustack--> autoVersionSubmodule trueautoVersionSubmodules> tagNameFormat>按人发行-$ {version} tagNameFormat>配置>插件>如果需要将构建的组件发布到您的Maven专用服务器,则需要配置以下内容:添加〜/ .m2 / settings.xml在项目中配置Maven专用服务器的用户名和密码。

具有存储库distributionManagement的pom.xml文件>仓库> id>对应于在设置>中设置的idid url>要上传到url的maven私有服务器地址>仓库> distributionManagement> 2.在pom.xml中,在scm>中设置SCM地址。

scm:git:https://github.com/FutaoSmile/starter-fustack--> developerConnection> scm:git:https://github.com/FutaoSmile/starter-fustackdeveloperConnection> https://github.com/FutaoSmile/starter-fustack-->标签> v-release-0.0.1标签> scm> 3.执行命令mvn release:prepare mvn relase:perform准备准备过程的屏幕截图:执行版本发布屏幕截图:检查maven专用服务器,是否成功上传了组件image.png代码已自动更新为下一个开发版本图像。

png#源代码https:// gitee。

com / FutaoSmile / starter-fustack https://github.com/FutaoSmile/starter-fustack我特别推荐一种高质量的内容共享架构+算法。

如果您没有关注,则可以长按以关注它:长按以订阅更多令人兴奋的内容▼如果您有任何收获,请单击此处查看,衷心感谢您的免责声明:本文的内容经授权后发布。

21ic,版权归原作者所有。

该平台仅提供信息存储服务。

本文仅代表作者的个人观点,并不代表该平台的立场。

如有任何疑问,请与我们联系,谢谢!

联系方式

位居电子保护元件及天线产品之领导地位的佳邦科技,为电脑、通信、消费性及车用电子市场提供了多元化的选择。为了让电子产品可以发挥更完善、有效率的功能,佳邦科技提供了完整的电路保护、电磁干扰/电磁防护、电源保护、RF天线产品线。佳邦在台湾保持元件及天线产品领先的地位。
在高度竞争的市场中大幅成长并达到效率的改善,产品良率的提升,以及成本效益的掌控,此外并要取得在先进电子保护元件与无线电射频天线市场的领导地位。

查看详情

在线咨询