2008-09-26 50 views
9

我們目前使用手動安裝和配置腳本以及手動連續集成腳本來構建和部署我們的應用程序。我正在考慮使用專爲此目的而設計的第三方系統進行正式化。Phing和PHPUnderControl有什麼區別?

我已經看過Phing之前,我得到它基本上像螞蟻。但是,我的螞蟻經驗有限,所以對我沒有多大幫助。 (我所做的大部分Java工作只是部署爲一個jar文件)。

我已經看過克魯斯控制之前,我明白,phpUnderControl是CC的插件。但是,Phing說它也適用於CC。所以我不清楚這裏的重疊。我是否需要Phing和phpUnderControl與CruiseControl一起使用,還是它們互相排斥?

我需要的究竟是什麼,可以:從SVN

  • 退房源
  • 安裝從SQL文件
  • 將數據庫從一系列模板和ini文件生成一些本地配置文件
  • 運行我們所有的單元測試(當前爲ST,但很容易轉換爲PHPUnit),並且如果有任何測試中斷(當然是堆棧跟蹤),則發送電子郵件給開發團隊
  • 生成AP我的文檔應用程序,並把它放在
  • 運行測試覆蓋率報告

現在,我們幾乎所有的這一種形式或另一種。但是,將它全部自動化並捆綁在一個進程中將會很好。

回答

8

phing幾乎是用PHP編寫的,其中phpUnderControl增加了對CruiseControl的PHP項目的支持,並在後端使用phing或ant解析build.xml文件並運行命令。

我剛剛設置了CruiseControl和phpUnderControl,它一直很好。它檢查我的SVN,每當我們檢查時通過phpDocumentor,PHP_CodeSniffer和PHPUnit運行它。由於它基於build.xml文件,所以你可以通過它運行任何你想要的軟件。

+0

你不想舉個例子嗎? :) – 2011-08-22 18:29:20

+0

我會,但我沒有我的構建文件了:P許多人都在尋找在這一點上使用詹金斯:http://jenkins-php.org/ – dragonmantank 2011-08-23 13:43:28

2

我相信很多人會被時間說這個,我輸入這一點,但...

我知道這不是PHP,但是我們發現Capistrano只是工作的這種事情。它確實是一款優秀的軟件。

2

我們一直在使用Phing,並且設置它的成本一直很低;即使你不瞭解ANT,也很容易學習。我對CruiseControl有很不好的體驗(不穩定 - 隨機下降) - 所以我喜歡Phing的簡單性。另外,使用PHP可以輕鬆擴展它(如果您有自定義任務,它們不支持開箱即用)。