分享

snv+maven+jenkins+jboss+sonar做持续集成

 贾朋亮博客 2015-07-16

一、说明CI Server在本质上就是一个定时调度器。我们配置一系列的项目,然后设定一个定时器,让它干一些活,然后通知大家。所以很多公司都使用所谓Home-made的工具,用cron+Ant/Maven来做持续集成,这个就已经可以达到CI的最简单的功能了。常用CI Server软件如下:
  CruiseControl (http://cruisecontrol./)
  Hudson (https://hudson.dev./
  Jenkins http:///
  LuntBuild (http://luntbuild./
  TeamCity (http://www./teamcity/)
  AntHill Pro (http://www./)
  Bamboo (http://www./software/bamboo/)
  QuickBuild (http://www./)
我这里主要自动编辑、自动测试、产生报告、自动通知。因此选择了jenkins,是基于Java开发的一种持续集成工具。

二、安装介质获取
http:/// ,有几种安装格式,比如war包(这种格式通用)、rpm、windows等。根据需要下载,我尝试了几个包,如果你对某个平台比较熟悉,建议直接下载对应平台的安装包,否则下载war包。我使用的是Redhat6.4 下载的rpm包。

三、启动(我尝试的几种包)
有两种启动方法。
首先保证系统中已经安装了jdk,最好是jdk1.5以上。
第一种启动方法,切换到jenkins.war存放的目录,输入如下命令:
$ java -jar jenkins.war
然后在浏览器中(推荐用火狐)输入http://localhost:8080,localhost可以是本机的ip,也可以是计算机名。就可以打开jenkins

第二种方法是用tomcat打开
解压tomcat到某个目录,如/usr/local,进入tomcat下的/bin目录,启动tomcat
将jenkins.war文件放入tomcat下的webapps目录下,启动jenkins时,会自动在webapps目录下建立jenkins目录,所以在地址栏上需要输入的地址于上一种方法有点不一样:
http://localhost:8080/jenkins

第三种方法使用rpm 安装,这是系统安装redhat的方式组织文件,可以在这里修改端口
/etc/sysconfig/jenkins
iptables -I INPUT -i eth2 -p tcp --dport 8088 -j ACCEPT
/etc/init.d/iptables save
service jenkins start

四、系统配置
1、插件安装代理
主页-->系统管理-->插件管理-->高级 配置好代理服务器,就可以在线安装插件。jenkins多数功能都是通过插件完成的。通过可选列表可以找到所有插件。

2、基本配置
主页-->系统管理-->系统配置,主要修改下面几个内容。修改后这些参数作为全局参数。有些可以在后续的project中覆盖。
执行者数量(并发度)、全局属性(配置全局环境变量)、Maven配置、JDK配置、Ant配置(我没有使用)、Maven(这个选项用来把maven集成到jenkins中)、Maven项目配置(配置maven默认选项)、Jenkins Location(配置jenkins访问地址,我是在配置文件中修改的)、subversion(用来和svn版本管理服务器集成)、邮件通知。

五、项目配置
环境snv+maven+jenkins+jboss+sonar。jenkins负责调度与集成,其它组件负责实现具体功能。下面是调用关系。
 1、jenkins调用svn
 2、jenkins调用maven(通过maven目标完成)
   3、maven调用sonar,需要下把sonar集成到maven中
   4、jenkins调用maven,完成编译、打包
   5、maven调用junit测试案例,完成功能测试。maven默认已经提供该功能   
   6、maven调用jboss-as 发布插架,完成发布
 7、jenkins调用robotframework,完成前台测试。需要把robotframework集成到jenkins中
 8、jenkins调用自身报告插架,声称报告
 9、jenkins完成错误通知
第8、9两步还做得不好。进一步研究中。

六、CI指示灯处理方案
这几日闲暇时,我找了几种CI指示灯实现方式
方式

方式一、根据构建结果,灯显示不同颜色;优点是投资少(40元以内)、不需要定制。缺点是灯比较小。
https://wiki./display/JENKINS/Blink1+Plugin,这个插件能够取得一个usb灯,并且根据构建结果显示为不同颜色(灯购买地址http://item.taobao.com/item.htm?spm=a230r.1.0.0.Gs7ckQ&id=19515986338

方式二、通过屏幕和tts软件,实现声光告警。大屏幕+音响+jenkins组件,优点是效果比较震撼,缺点是投入比较大,主要是大屏幕投入。
https://wiki./display/JENKINS/Status+Monitor+Plugin
这个组件把屏幕划分为块,每一块一个project,块的颜色与构建结果有关系。
https://wiki./display/JENKINS/Jenkins+Sounds+plugin
这个组件根据构建结果播放一段声音。当然也可以使用Hudson+Speaks播放一段文本,不过这个需要一些特殊技术将声音播放在ie端。

方式三、通过sametime给构建失败组件负责人发消息。优点比较实用,缺点是不能集中监控。而且受sametime限制。
https://wiki./display/JENKINS/SameTime+Plugin
因为公司内部通信实验sametime,因此使用了这个组建。

以上三个组件都是在project 的"add post-build action"中配置。先安装插件,然后会出现如下图片中的可选项。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多