我所在的公司用的是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配置文件,放掉注释,并修改,如下
重启tomcat,进入tomcat服务器根目录,点击“manager app”输入用户名和密码,成功进入管理页面,说明第一步配置成功。在pom中加入下面配置
配置maven的setting文件,加入下面配置
如果上面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
就是自己搭建一个集成平台,开发者本地将代码通过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配置文件,放掉注释,并修改,如下
- <pre name="code" class="html"><role rolename="manager-gui" />
- <role rolename="manager-script" />
- <role rolename="admin"/>
- <role rolename="manager"/>
- <user username="tomcat" password="tomcat" roles="manager-gui,manager-script,admin,manager" />
重启tomcat,进入tomcat服务器根目录,点击“manager app”输入用户名和密码,成功进入管理页面,说明第一步配置成功。在pom中加入下面配置
- <plugins>
- <!-- tomcat热部署 -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>tomcat-maven-plugin</artifactId>
- <configuration>
- <url>http://localhost:8080/manager/text</url><!--地址为tomcat地址>
- <server>tomcat</server>
- <path>/webProject</path><!--部署成功后,可输入localhost:8080/webProject进入项目-->
- <username>tomcat</username><!--对应的用户名-->
- <password>tomcat</password><!--对应的密码-->
- </configuration>
- </plugin>
- </plugins>
配置maven的setting文件,加入下面配置
- <server>
- <id>test</id>
- <username>tomcat</username>
- <password>tomcat</password>
- </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,我要了解他的原理和学会编写脚本,并尝试自己搭建一个集成环境~~~