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檔案,將:
?????????????? connectionTimeout="20000"
?????????????? redirectPort="8443" />
??? 修改為:
??? ?????????????? 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指令碼:
phpinfo();
設為test.php
運行該指令碼:php test.php | grep –i xdebug
有輸出則說明安裝成功
------------------- 建立job