EZTABLE IDEAS 是 EZTABLE 成員揮灑熱情和大家分享專業及創意的網誌。 EZTABLE 讓消費者 24 小時都可以在網路訂位全台灣最優質的餐廳,同時提供餐廳經營者 e 化的訂位管理系統 (雲端、iPad、智慧型手機)

Engineering: PHP and CI: Phing build file template for Jenkins

四月 26 2011 Published by under Engineering

 

為什麼Startup更需要自動化測試中,一些朋友來信詢問如何為一個PHP專案設置Continuous Integration(CI),因此我們Open source了一個簡單的Phing build file,其中包含了以下工具的設定:

  • PHPUnit (unit-test framework for PHP)
  • Code Coverage for PHPUnit.
  • PHP_CodeSniffer (檢查PHP程式碼是否符合Coding standard)
  • PHPMD (檢查PHP程式碼中可能的問題,如:bug, 未最佳化的程式碼,過於複雜的expression,未使用變數或函式等)
  • PHPCPD (檢查copy/paste的程式碼, the DRY principle)
  • PHP Depend (檢驗PHP程式碼的邏輯有多複雜, the KISS principle)
  • phplocsloccount (計算project的size)
  • phpDocumentor (生成API的文件)

在Github可以取得這份Phing的build file,只需要改設定檔中的一些路徑即可使用。若你是Ant的使用者,其實Sebastian Bergmann大師已經做了一個Template,其中有圖解Jenkins的設定,和需要安裝的plug-in:

  • Checkstyle (for processing PHP_CodeSniffer logfiles in Checkstyle format)
  • DRY (for processing phpcpd logfiles in PMD-CPD format)
  • HTML Publisher (for publishing the PHPUnit code coverage report, for instance)
  • JDepend (for processing PHP_Depend logfiles in JDepend format)
  • Plot (for processing phploc CSV output)
  • PMD (for processing PHPMD logfiles in PMD format)
  • Violations (for processing various logfiles)
  • xUnit (for processing PHPUnit logfiles in JUnit format)

 

我們做了這個Phing的build file,希望對想導入CI的朋友有所幫助。

 

York Tsai,

Software Architect @ EZTABLE

Related Posts Plugin for WordPress, Blogger...

No responses yet

發表迴響