一、说明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"中配置。先安装插件,然后会出现如下图片中的可选项。
|