日期:2014-05-17  浏览次数:20490 次

Hudson_CI:PHP持续集成

一、持续集成的概念

概念网上很多了,这里就不再详细说了。

持续集成简称CI,持续集成是频繁、持续的在多个团队成员的工作中进行集成,并且给与反馈。一个典型的持续集成周期包括以下几个步骤:
?? 1. 持续集成服务器不断从版本控制服务器上检查代码状态,看代码是否有更新。
?? 2. 如果发现代码有最新的提交,那么就从版本控制服务器下载最新的代码。
?? 3. 等代码完全更新以后,调用自动化编译脚本,进行代码编译。
?? 4. 运行所有的自动化测试。
?? 5. 进行代码分析。
?? 6. 产生可执行的软件,能够提供给测试人员进行测试。
?? 持续集成服务器,比如CruiseControl或者VSTS
?? CruiseControl, Anthill, Bamboo, TeamCity, Continuum,hudson

二、hudson的简介

Hudson 是一种革命性的开放源码 CI 服务器,它从以前的 CI 服务器吸取了许多经验教训。Hudson 最吸引人的特性之一是它很容易配置:很难找到更容易设置的 CI 服务器,也很难找到开箱即用特性如此丰富的 CI 服务器。Hudson 容易使用的第二个原因是它具有强大的插件框架,所以很容易添加特性。例如,一个 Hudson 插件可以随时间的推移跟踪 FindBugs 和代码覆盖。它还可以报告测试结果的趋势(来自 JUnit 或 TestNG)以及构建结果和对应的执行时间。

Hudson 需要运行 Java 5。如果需要使用 Hudson 附带的嵌入式容器(Winstone)之外的其他容器,那么只需使用一种 Servlet 2.4 容器。对于大多数情况,Winstone 就足够了。

?

?

?

?

?

?

?

?

?

?

?

http://download.oracle.com/auth/otn-pub/java/jdk/7/jdk-7-linux-x64.tar.gz?e=1315298113&h=13590cea0d85730ad003c4b86a96ff7f


http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-7/v7.0.21/bin/apache-tomcat-7.0.21.tar.gz


http://www.oschina.net/p/hudson/

http://hudson-ci.org/download/
http://hudson-ci.org/download/plugins/



http://xdebug.org/download.php
http://xdebug.org/files/xdebug-2.1.2.tgz



http://pear.php.net/package/PHP_CodeSniffer/download
http://download.pear.php.net/package/PHP_CodeSniffer-1.3.0.tgz


php目录/usr/local/lib/php/

===========================/tmp/hudson

--------------------JDK
当前目录下生成jdk1.6.0_23目录,将该目录拷贝到指定目录/usr/local/jdk


??? 设置环境变量vim .bash_profile?? export JAVA_HOME=/usr/local/jdk
??? 设置~/.bashrc:alias java="/usr/local/jdk/bin/java"


java -version




-----------Tomcat

1.??? 在Tomcat站点下载获得tar.gz压缩包,如:
apache-tomcat-6.0.29.tar.gz
2.??? 执行命令解压:tar zxf apache-tomcat-6.0.29.tar.gz,生成apache-tomcat目录
?mv apache-tomcat-7.0.21 apache-tomcat
3.??? 修改conf/server.xml文件,将:
<Connector port="8080" protocol="HTTP/1.1"
?????????????? connectionTimeout="20000"
?????????????? redirectPort="8443" />
??? 修改为:
??? <Connector port="8080" protocol="HTTP/1.1"
?????????????? connectionTimeout="20000"
?????????????? redirectPort="8443"
URIEncoding="UTF-8"/>
??? (根据测试机字符集修改)
4.??? 执行bin/startup.sh启动tomcat,检查是否监听8080端口
5.??? 在前端访问url:http://host-url:8080/,如果有猫咪出来就说明安装成功



-------------hudson

将hudson.war拷贝到tomcat目录下的webapps目录下

访问http://host-url:8080/hudson,看到hudson正在load说明配置成功

系统管理---系统配置? 安装jdk,去掉自动安装,java_home : /usr/local/jdk


默认情况下,hudson的数据工作空间安装在~/.hudson


Hudon重启
cd /tmp/hudson/apache-tomcat
java -jar webapps/hudson/WEB-INF/hudson-cli.jar -s http://192.168.1.95:8080/hudson restart


--------------- hudson 插件安装

http://hudson-ci.org/download/plugins/

phing安装
http://hudson-ci.org/download/plugins/phing/0.7/phing.hpi
获得hpi文件
进入Hudson ? 插件管理? -- 高级
通过上传插件进行安装
重启Hudson完成安装


phing插件配置??????????????????
http://www.phing.info/trac/wiki/Users/Download


-----------------xedug????????????????
http://xdebug.org/download.php


2.??? 执行pear install xdebug-2.1.0.tgz
3.??? 如果/path/to/php5/lib/php/extensions/下没有xdebug.so,找到xdebug.so拷贝到上述目录下
4.??? 修改php.ini,增加:
[xdebug]
extension = xdebug.so
5.??? 写php脚本:
<?php
phpinfo();

设为test.php
运行该脚本:php test.php | grep –i xdebug
有输出则说明安装成功




------------------- 创建job