码迷,mamicode.com
首页 > 其他好文 > 详细

持续集成:jenkins2.0实施要点

时间:2016-05-25 13:28:54      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:jenkins

自动化部署是自动化运维的重要内容之一,如果一个公司经常喊自动化运维,但没有持续集成的概念,没有实施自动化部署,还需要程序员手工打包部署,那么无疑其生产方式是落后的。持续集成的工具有很多,jenkins是其中典型代表之一。


1、经过测试,jenkins2.0tomcat6.0.39+jdk1.6下面跑不起来,换jdk1.8下则可以。


2、修改jenkins运行家目录

Jenkins默认保存所有的数据文件在/root/.jenkins,这个路径比较别扭,修改的话,方法有二:

1)、直接在tomcat的catalina.sh里面添加:export JENKINS_HOME=

2)、直接在环境文件里设置,如/etc/profile


3、让jenkins使用特定的jdk版本进行构建

经过测试,在build.xml里面配置单独的jdkpath貌似不管用,执行ant还是会用系统自己的jdk版本编译。那么,如何配置单独的jdk版本呢?方法是在jenkins系统管理——系统设置里面增加一个全局属性,设置一下JAVA_HOME,如下图:

技术分享


4、发邮件。

jenkins的邮件插件和扩展邮件插件用起来太麻烦,个人强烈建议直接用python整一个脚本,python的smtplib库简单好用,发送html+图片是很容易,相比linux的mailx,强大很多。如果构建失败,调用此脚本将build日志发送给相关人士即可。


5、自动部署

jenkins的自动部署是通过一个名为“Deploy to container Plugin”的插件完成的,原理是利用tomcat的admin接口将war包导进去。个人感觉也不太好使,大家都知道,tomcat虽然可以自动识别war包,但是安全的做法是需要重启,不重启的话,经过反复部署war包,jvm会慢慢出现问题。而且重启的时候,shutdown往往不够彻底,必须kill -9干掉tomcat进程才行。基于此,本人也推荐手工完成自动部署,在jenkins机器和远程机器之间建立互信,先备份,然后上传war包,再重启。即便如此,也要注意对远程web服务器进行监控,本人遇到一次远程web服务器内存不够(用了很多swap),导致部署过去的war包,lib加载不进去导致项目启动失败,报监听启动错误:SEVERE: Error listenerStart




本文出自 “记忆碎片” 博客,转载请与作者联系!

持续集成:jenkins2.0实施要点

标签:jenkins

原文地址:http://weikle.blog.51cto.com/3324327/1782919

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!