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

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

二、安装介质获取
http://jenkins-ci.org/ ,有几种安装格式,比如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、插件安装代理
主页--&gt系统管理--&gt插件管理--&gt高级 配置好代理服务器,就可以在线安装插件。jenkins多数功能都是通过插件完成的。通过可选列表可以找到所有插件。
bb

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

五、项目配置
环境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两步还做得不好。进一步研究中。
bb

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

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

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

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

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

bb

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15711267/viewspace-1062783/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15711267/viewspace-1062783/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值