📜  Maven-部署自动化

📅  最后修改于: 2020-11-12 04:56:44             🧑  作者: Mango


在项目开发中,通常,部署过程包括以下步骤-

  • 将所有正在进行的项目中的代码检入SVN(版本控制系统)或源代码存储库中并对其进行标记。

  • 从SVN下载完整的源代码。

  • 生成应用程序。

  • 将构建输出WAR或EAR文件存储到公共网络位置。

  • 从网络获取文件并将文件部署到生产站点。

  • 使用日期和应用程序的更新版本号更新了文档。

问题陈述

上述部署过程通常涉及多个人。一个团队可以处理代码的签入,其他团队可以处理构建等。由于涉及的手动工作以及多团队环境,很可能会错过任何步骤。例如,可能无法在网络计算机上替换较早的版本,并且部署团队会再次部署较早的版本。

通过结合以下内容来自动化部署过程-

  • Maven,用于构建和发布项目。
  • SubVersion是源代码存储库,用于管理源代码。
  • 远程存储库管理器(Jfrog / Nexus),用于管理项目二进制文件。

更新项目POM.xml

我们将使用Maven Release插件创建一个自动发布过程。

例如:bus-core-api项目POM.xml。


   4.0.0
   bus-core-api
   bus-core-api
   1.0-SNAPSHOT
   jar 
   
      http://www.svn.com
      scm:svn:http://localhost:8080/svn/jrepo/trunk/
      Framework
      scm:svn:${username}/${password}@localhost:8080:
      common_core_api:1101:code
   
   
      
         Core-API-Java-Release
         Release repository
         http://localhost:8081/nexus/content/repositories/
         Core-Api-Release
      
   
   
      
         
            org.apache.maven.plugins
            maven-release-plugin
            2.0-beta-9
            
               false
               deploy
               [bus-core-api-release-checkin]-<
               /scmCommentPrefix>
            
         
      
   

在Pom.xml中,以下是我们使用的重要元素-

Sr.No. Element & Description
1

SCM

Configures the SVN location from where Maven will check out the source code.

2

Repositories

Location where built WAR/EAR/JAR or any other artifact will be stored after code build is successful.

3

Plugin

maven-release-plugin is configured to automate the deployment process.

Maven发布插件

Maven使用maven-release-plugin执行以下有用的任务。

mvn release:clean

如果上次发布过程不成功,它将清理工作空间。

mvn release:rollback

回滚对工作区代码和配置所做的更改,以防上一次发布过程不成功。

mvn release:prepare

执行多种操作,例如-

  • 检查是否存在任何未提交的本地更改。

  • 确保没有SNAPSHOT依赖项。

  • 更改应用程序的版本,并将SNAPSHOT从该版本中删除以进行发布。

  • 将pom文件更新为SVN。

  • 运行测试用例。

  • 提交修改后的POM文件。

  • 在Subversion中标记代码

  • 增加版本号并附加SNAPSHOT以供将来发行。

  • 将修改后的POM文件提交到SVN。

mvn release:perform

使用先前定义的标签检出代码并运行Maven部署目标,以将war或构建的工件部署到存储库。

让我们打开命令控制台,转到C:\> MVN> bus-core-api目录并执行以下mvn命令。

>mvn release:prepare

Maven将开始构建该项目。构建成功后,运行以下mvn命令。

>mvn release:perform

构建成功后,您可以在存储库中验证上载的JAR文件。