日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
PHP開發(fā)必備PHP持續(xù)集成工具介紹(下)

上一篇文章中,我們?yōu)榇蠹医榻B了一些PHP持續(xù)集成工具,在本文中,我們將介紹繼續(xù)介紹PHP中的持續(xù)集成工具。

持續(xù)集成的概念

持續(xù)集成的概念是在現(xiàn)代軟件工程中提出的,最早見于敏捷開發(fā)方法論中,大師Martin Fowler對持續(xù)集成是這樣定義的:持續(xù)集成是一種軟件開發(fā)實踐,即團隊開發(fā)成員經(jīng)常集成它們的工作,通常每個成員每天至少集成一次,也就意味著每天可能會發(fā)生多次集成。每次集成都通過自動化的構(gòu)建(包括編譯,發(fā)布,自動化測試)來驗證,從而盡快地發(fā)現(xiàn)集成錯誤。許多團隊發(fā)現(xiàn)這個過程可以大大減少集成的問題,讓團隊能夠更快的開發(fā)內(nèi)聚的軟件。

PHP MESS DECTOR

PHP MESS DECTOR(簡稱PMD,項目地址http://phpmd.org/),是基于pdepend的結(jié)果進行分析,分析出一旦你的PHP項目超過了pdepend中各具體指標(biāo)值的規(guī)定,從而發(fā)出警告提示信息,安裝方法如下:

 
 
 
 
  1. sudo pear channel-discover pear.phpmd.org
  2. sudo pear channel-discover pear.pdepend.org
  3. sudo pear install --alldeps phpmd/PHP_PMD

 使用方法為:

 
 
 
 
  1. phpmd . html codesize,unusedcode,naming,design --reportfile ../messdetector.html --exclude Tests/

上面這個命令含義為,使用pdepend中的4個規(guī)則codesize,unusedcode,naming,desgin去檢查項目的代碼,但除了Tests目錄不作檢查,檢查結(jié)果生成HTML的格式,保存在/messdetector.html中,結(jié)果如下:

▲點擊查看大圖

PHP COPY PASTE DETECTOR

Php copy paste detector(https://github.com/sebastianbergmann/phpcpd)是重構(gòu)的一個好工具,它用來發(fā)現(xiàn)你的項目中的重復(fù)代碼。安裝方法如下:

 
 
 
 
  1. sudo pear channel-discover pear.phpunit.de
  2. sudo pear channel-discover components.ez.no
  3. sudo pear install phpunit/phpcpd

注意,必須先安裝phpunit。運行方法如下圖:

PHP DEAD CODE Detector

php dead code detector(https://github.com/sebastianbergmann/phpdcd)是一個檢查你的項目中有哪些代碼是從來沒被調(diào)用過的,比如類,方法編寫后再沒被調(diào)用過,這是一個去掉“壞味道”代碼的最佳實踐,可以增強系統(tǒng)的可維護性。安裝如下:

 
 
 
 
  1. sudo pear channel-discover pear.phpunit.de
  2. sudo pear channel-discover components.ez.no
  3. sudo pear install phpunit/phpdcd-beta

 運行方法下圖:

綜合持續(xù)集成工具 Jenkins

有了上面的各類工具,用戶可以在PHP中進行持續(xù)集成構(gòu)建的工作,但還可以使用一款綜合的持續(xù)集成工具Jenkins(http://jenkins-ci.org/)進行(注:Jenkins其實就是原先的構(gòu)建工具Hudson,只不過現(xiàn)在改了名稱)。這款持續(xù)集成工具是個持續(xù)構(gòu)建服務(wù)器,包含了上述提到的各種PHP持續(xù)構(gòu)建工具的功能,安裝好后,能做到每天持續(xù)構(gòu)建,并將構(gòu)建的結(jié)果通知用戶。下面對其進行簡單介紹。

Jenkins可以使用windows下的計劃任務(wù),LINUX下的SHELL以及ANT或者MAVN去進行構(gòu)建項目,本文以使用ANT為例進行說明,首先必須安裝JAVA中的ANT。編寫ANT文件如下:

 
 
 
 
  1.     
  2.     
  3.         
  4.         
  5.         
  6.     
  7.     
  8.     
  9.     
  10.         
  11.             
  12.                 --coverage-html ${output}/CodeCoverage/
  13.                 ."/>
  14.         
  15.     
  16.     
  17.         
  18.             
  19.                           --report-file=${output}/phpcs/checkstyle.xml
  20.                           --standard=Zend
  21.                           ${basedir}" />
  22.         
  23.     
  24.     
  25.         
  26.             
  27.                  . xml codesize,unusedcode,naming,design --reportfile ${output}/messdetector.xml --exclude Tests/
  28.             " />
  29.         
  30.     
  31.     
  32.         
  33.             
  34.                  --log-pmd ${output}/phpcpd.xml .
  35.             " />
  36.         
  37.     
  38.     
  39.         
  40.             
  41.                 --jdepend-xml=${output}/pdepend/jdepend.xml
  42.                 --jdepend-chart=${output}/pdepend/dependencies.svg
  43.                 --overview-pyramid=${output}/pdepend/overview-pyramid.svg
  44.                 --ignore=Tests/
  45.                 .
  46.             " />
  47.         
  48.     

 熟悉ANT的讀者應(yīng)該知道,這里其實是調(diào)用了以上說的各個PHP持續(xù)集成工具而已。

接下來,是安裝Jenkins,到Jenkins的官網(wǎng)去下載相符合的操作系統(tǒng)版本,然后就可以按照指引安裝,本文以在Ubantu上的安裝方法為例說明:

 
 
 
 
  1. wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add –
  2. 在/etc/apt/sources.list文件最后增加如下這行:
  3. deb http://pkg.jenkins-ci.org/debian binary/
  4. sudo apt-get update
  5. sudo apt-get install jenkins

 之后就可以安裝成功了,可以通過http://localhost:8080/ 去訪問Jenkins了,初始界面如下圖:

Jenkins的設(shè)置

Jenkins的設(shè)置比較復(fù)雜,在這里不一一詳細論述。但這里稍微提下設(shè)置的基本方法。只需要點上圖中的“Manage Jenkins”鏈接,再點“Configure System”則可進入設(shè)置面板,其中你可以設(shè)置相關(guān)的權(quán)限設(shè)置,也可以設(shè)置SMTP用來通知每次的構(gòu)建成功與否的信息。此外,需要設(shè)置Jenkins中的插件設(shè)置,要打開相關(guān)的插件設(shè)置開關(guān),比如使用Git做版本控制工具的,則要設(shè)置Git插件為允許狀態(tài)。設(shè)置的步驟很簡單,選擇“plugin”,點“Install”即可安裝,安裝后要重新啟動Jenkins。

我們需要安裝一系列的插件去實現(xiàn)php的持續(xù)集成,比如安裝Clover(https://wiki.jenkins-ci.org/display/JENKINS/Clover+Plugin)去圖形化顯示phpunit的單元測試覆蓋率,安裝Checkstyle(https://wiki.jenkins-ci.org/display/JENKINS/Checkstyle+Plugin)去顯示PHP CodeSniffer的運行結(jié)果,也要安裝PMD,而Jdepend(https://wiki.jenkins-ci.org/display/JENKINS/JDepend+Plugin)用來顯示PHP Depend的結(jié)果。

在完成基本設(shè)置后,我們可以首先新建立一個Job,點“New Job”鏈接,給Job命名,之后,我們可以按照http://jenkins-php.org/一文中的教程進行設(shè)置,之后就可以運行構(gòu)建了,下面是兩個典型的構(gòu)建運行圖:

可以看到,Jenkins的每次構(gòu)建,都能綜合運用了本文所談到的各樣php集成工具,十分方便,而且能提供十分豐富的圖形報表。

總結(jié)

持續(xù)集成應(yīng)該成為你日常項目管理運行維護的重要步驟,通過每天構(gòu)建項目,能達到敏捷軟件工程學(xué)中的最佳實踐,提高系統(tǒng)的可靠性,減少系統(tǒng)潛在的bug,由于篇幅所限,更多的持續(xù)集成工具用法在以后的文章中將會詳細論述,讀者可參考各工具的參考手冊進行學(xué)習(xí)。


標(biāo)題名稱:PHP開發(fā)必備PHP持續(xù)集成工具介紹(下)
文章網(wǎng)址:http://www.dlmjj.cn/article/cdojsej.html