博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过jenkins自动部署war包到tomcat时遇到的一些问题
阅读量:4968 次
发布时间:2019-06-12

本文共 1620 字,大约阅读时间需要 5 分钟。

前两天项目组长让我通过jenkins的持续集成来完成项目的自动部署,但是中间可是踩了不少坑,在这里记录一下遇到的问题和解决办法。

服务器环境 windows server 2008 R2

项目容器版本 tomcat 7.0.82

jdk版本 jdk7.0.72

重现步骤

1.jenkins安装插件,在插件管理器中找到如下插件安装

2.因为jenkins实现这个插件的功能,原理也是上传文件至tomcat的wabapps文件夹,但是要对上传做一个安全控制,否则任何人都可以上传那不是乱套了。所以我们需要在tomcat中声明一个用户和密码,然后jenkins使用这个用户身份去上传就OK了。具体步骤如下

    2.1  在tomcat/conf/tomcat-user.xml中创建用户名和密码

注:那几个rolename最好都写上,有帮助,比如gui和script表示该用户拥有执行script和使用gui界面的权力。

      username和password自己定义一个即可。

    2.2   在jenkins中新建认证身份,用于连接tomcat。

   注:scope为该身份的作用域,设为全局即可,username和password对应刚才在tomcat内创建的用户,ID为自动生成以及对这个身份的简单描述。

 

3. 构建(本项目为grails项目,如下shell代码仅供参考)

  

此处执行shell构建的操作:    source /etc/profile:主要目的 重新导入环境变量   rm -f target/*.war:清除之前已构建的包  grails prod war:再打个包(默认还在target目录下)

 

4. 然后可以配置自动部署啦,在"构建后操作"这一步会多一个选项,即刚才安装的插件支持的功能,部署一个war/ear包到服务器容器里。

 

     注:war/ear files 即构建的包的路径,相对于项目的根路径。

            context path 可以理解为部署在tomcat之后,项目的访问路径。 此处的 / 表示为webapps文件夹的ROOT目录,在我的这种情况下,无论项目名是什么,均通过192.168.1.28:8080访问.

            containers  这个就简单了 添加你的tomcat版本(或其他,如jboss),认证身份就用刚才创建的那个全局身份,tomcat URL 就写到tomcat的端口地址就可以啦。

5. 打完收工,保存,build now!

 

如果你是个幸运儿,构建之后的控制台输出为 success, 那配置到这里就应该结束了,但是我这个出现了N多次failure,在这里简单贴出可能的解决办法:

1.jdk版本保持一致。在你的开发环境(IDE)下的jdk版本,与服务器端的tomcat需要的jdk版本保持一致。不一致有可能出现兼容问题。

2.查看控制台的错误信息,如果服务器端tomcat返回的失败信息涉及到fileupload相关错误,一般情况下为项目体积过大导致,超过了tomcat默认的50M上限,需修改。

    打开Tomcat\webapps\manager\WEB-INF\web.xml,修改如下代码

200428800
200428800
0

3.查看控制台的错误信息,如果项目构建过慢,最后以失败结束。很有可能是服务器内存过小,我的项目windows服务器起始为2G,相对于java/groovy这种吃内存的语言来说太小了。后来加到了4G才勉强可以。

 

 

            

转载于:https://www.cnblogs.com/pp2018/p/8718408.html

你可能感兴趣的文章
[SDOI2008]洞穴勘测
查看>>
NOI2014 购票
查看>>
i am back
查看>>
Textbox search autocompalety
查看>>
Android 学习笔记
查看>>
武道之路-炼体期四重天
查看>>
bat删除指令
查看>>
Nginx作为静态资源web服务之防盗链
查看>>
Vue组件开发实践之scopedSlot的传递
查看>>
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
查看>>
加强树状数组luogu3368
查看>>
hdu4719 Oh My Holy FFF 线段树优化dp
查看>>
python处理excel文件(xls和xlsx)
查看>>
SPOJ TRAFFICN - Traffic Network
查看>>
(面试)写出下面switch语句的输出结果
查看>>
计算机中的“透明”
查看>>
haproxy报错解决
查看>>
nginx反向代理本地 单台wed -使用域名代理
查看>>
CSS
查看>>
eclipse 项目svn忽略不需要提交的文件
查看>>