当前位置: 代码迷 >> 综合 >> Jenkins 配合 versions-maven-plugin 的 Maven 插件优雅的生成项目版本号
  详细解决方案

Jenkins 配合 versions-maven-plugin 的 Maven 插件优雅的生成项目版本号

热度:50   发布时间:2023-12-08 12:55:27.0

文章目录

        • 一、场景介绍
        • 二、操作流程

一、场景介绍

??在项目开发过程中,项目版本号的管理和维护,对于开发人员来说是一个非常不愿意去关注的事情。特别是微服务盛行的今天,子模块独立开发,子模块独立升级。各种版本之间的交叉并行,老虎、老鼠、傻傻分不清楚。

??不同的企业对项目的版本管理有不同的规定,我们应该根据不同的需求去制定版本管理流程。本次主要以项目节点主观的确定版本号,并通过 Mavenversin-maven-plugin 插件批量修改父子模块或者子模块的版本,再结合 finalName 标签的定义。通过 Jenkins 构建出需要的 jar 版本。

二、操作流程

简易操作流程

  • 在工程中通过 versin-maven-plugin 插件批量修改项目模块的版本号

  • Jenkins 根据 pom 文件中的 finalName 定义的打包项目名称构建打包

具体操作流程

  1. 纵观项目 pom 文件的关键信息

    <!-- 本工程模块gav -->
    <artifactId>rms_console_service</artifactId>
    <name>${project.artifactId}</name>
    <!-- 显示指定版本方便独自升级 -->
    <version>1.0.0.1</version>
    <packaging>jar</packaging>
    <description>*****-*****服务</description>
    
  2. 在项目中引入 version-maven-plugin 插件(父子模块的放父工程,单独模块的就放在自己的 pom 文件中)

    <!-- Maven 版本控制插件 -->
    <plugin><groupId>org.codehaus.mojo</groupId><artifactId>versions-maven-plugin</artifactId><version>2.7</version>
    </plugin>
    
  3. build 标签中添加 finalName 指定打包的项目名称规则

    <build><!-- 采用动态的参数,灵活方便修改 --><finalName>${project.artifactId}-${project.version}</finalName>...省略其它信息
    </build>
    
  4. 待功能开发完成以后,选择 IDEA 中的 Plugins 中的 versions 插件展开,双击设置版本选项
    在这里插入图片描述
    P.S

    也可以使用脚本在项目 pom.xml 的目录下执行

    /usr/local/apache-maven-3.6.3/bin/mvn versions:set -DnewVersion=1.0.0.2 clean compile package
    
  5. 接上一步 versions 插件会自动在控制台等待用户输入自定义版本号

    在这里插入图片描述

  6. 待执行完成以后,pom.xml 中的版本号就自动修改完成了

    在这里插入图片描述

  7. 提交自动修改版本号的 pom.xml 文件到文件版本管理系统

  8. 执行 jenkins 自动构建即可构建出预设的项目文件名称
    在这里插入图片描述

  相关解决方案