Maven热部署

我所在的公司用的是GitLab.CI进行项目额持续集成
就是自己搭建一个集成平台,开发者本地将代码通过Git push到服务器端,服务器自动编译-打包-发布等等,脚本可自己编写。
现有一个任务是将原先的项目发布改成maven热部署,也就是说发布到tomcat中后,不需要重启tomcat。

当我知道有这个功能的时候,内心是喜悦的,也明确了我今后要了解的只是
1、GitLab.CI 的原理
2、脚本的编写
3、maven热部署


第三点,可以在网上查找到很多资料;

第二点,原有的项目里已经有写好的脚本,我在原先的基础上加以修改就行了;

第一点,就是要了解GitLab.CI和要学习的东东;


通过网上查找并结合自身的项目,maven热部署的过程配置总结如下:

1、修改tomcat-user配置文件;

2、修改pom配置文件;

3、修改maven的setting配置文件


修改user配置文件一是为了管理员进入tomcat管理页面并提高其安全性,二是为了在maven设置正确的用户名;
找到tomcat-user配置文件,放掉注释,并修改,如下

[html]  view plain  copy
  1. <pre name="code" class="html"><role rolename="manager-gui" />  
  2. <role rolename="manager-script" />  
  3. <role rolename="admin"/>  
  4. <role rolename="manager"/>  
  5. <user username="tomcat" password="tomcat" roles="manager-gui,manager-script,admin,manager" />  

 
 重启tomcat,进入tomcat服务器根目录,点击“manager app”输入用户名和密码,成功进入管理页面,说明第一步配置成功。在pom中加入下面配置        
 
[html]  view plain  copy
  1. <plugins>  
  2.             <!-- tomcat热部署 -->  
  3.             <plugin>  
  4.                 <groupId>org.codehaus.mojo</groupId>  
  5.                 <artifactId>tomcat-maven-plugin</artifactId>  
  6.                 <configuration>  
  7.                     <url>http://localhost:8080/manager/text</url><!--地址为tomcat地址>  
  8.                     <server>tomcat</server>  
  9.                     <path>/webProject</path><!--部署成功后,可输入localhost:8080/webProject进入项目-->  
  10.                     <username>tomcat</username><!--对应的用户名-->  
  11.                     <password>tomcat</password><!--对应的密码-->  
  12.                 </configuration>  
  13.             </plugin>  
  14.   
  15. </plugins>  


配置maven的setting文件,加入下面配置
[html]  view plain  copy
  1. <server>  
  2.        <id>test</id>  
  3.        <username>tomcat</username>  
  4.        <password>tomcat</password>  
  5.  </server>  

如果上面pom中没有配置用户名和密码,则使用setting里的配置,如果有的话,就是用pom里的配置(就近原则)

配置完记得要 maven-update

最后来验证一下:
启动tomcat服务器,保证里面没有发布任何项目;
如果是eclipse,直接右键项目---run as ---maven bulid...输入“tomcat:redeploy”
如果使用的是命令行,直接输入“mvn tomcat:redeploy”

如图


测试通过,输入地址可以正常的访问!

以上是本地的配置,远程服务器也是一样,
修改url、修改tomcat的用户名和密码、修改ci脚本,通过git上传代码后
就会按照ci脚本里的命令来执行!测试也通过,唯一的不足就是“花费时间”,一个项目需要一两分钟
(都是这样还是我这边项目或脚本有问题,希望指出~~~)

可能会遇到的问题
1、项目打包名称的问题,有可能会报“ can not found XXX.war 包”
检查一下pom里配置项目名和打包后的报名是否一致;
2、出现“ Cannot invoke Tomcat manager: Error writing to server
可能是tomcat6或7的问题
将pom里的url改为
http://localhost/manager/text 或http://localhost/manager/html

这是我遇到的两个问题和解决方法


对于GitLabCI,我要了解他的原理和学会编写脚本,并尝试自己搭建一个集成环境~~~

猜你喜欢

转载自blog.csdn.net/u013294097/article/details/80678636