2012-01-28 70 views
2

我開始一個新項目,並希望爲我的開發,持續集成和生產服務器提供一步構建過程。使用PEAR,Phing獲得魯棒部署解決方案?

我希望進程被包含在我的源代碼控制(git/github)中,並在我的三臺服務器上運行穩定,這些服務器非常相似,但是對於項目根目錄有不同的路徑。

我曾經計劃使用Phing,PHPDocumentor,PHP_CodeSniffer,PHPUnit等通過Pyrus安裝到可與項目一起部署的本地PEAR/PEAR2安裝中,這樣我就可以在構建時對我的依賴充滿信心。

但是,我沒有任何東西,但得到這個設置的問題。

這是我第一次嘗試建立這樣一個構建系統,* nix安裝不是我的強項(儘管我最終總是最終得到一個可靠的系統),所以這裏的薄弱環節也許我。但是,我所遇到的很多問題似乎都來自PEAR。

例如,無論我通過pyrus安裝多麼謹慎,所有事情最終都會遇到路徑問題。縱觀一些PEAR軟件包,所有路徑都使用我在安裝(./pear等)期間使用的相對路徑進行硬編碼(可能在運行時設置)。這意味着我只能成功運行pyrus安裝過程中的文件夾,即使運行腳本放在./pear/bin中,並且我在安裝過程中設置了bin文件夾。有時路徑內部衝突到單個封裝,所以想從這裏運行,但要管理從那邊的配置...

phpDocumentor的不處理PHP5.3(並不會出馬我可能是因爲它有問題,也許是因爲我錯誤安裝了它?),所以我用PHPDoctor取代了它,最初看起來很不錯。

另一個例子,安裝後,Phing會運行,但只是靜靜地死去。挖掘並跟蹤它之後,我發現/ io/PhingFile的第70行上的一個模糊函數對於所需的arg而言爲空,該arg會引發一個ConfigurationException,從而導致它無提示地死去。

我相信我可以使所有這些工作正常,但我並不確定它將永遠是一個可部署的健壯系統,而且我真的不想調試,調整,然後維護一大堆自修改的PEAR軟件包必須在每次升級時都需要重新進行測試。

所以,最後的問題= O)

有誰在使用這些應用程序一個很好的穩固生成系統?有沒有一些訣竅呢?

還是大家都有一個很好的健壯的構建系統,它只是我的天真與* nix安裝和系統配置,使得這一切看起來像一個雙大小的幫助clusterphuckery?

有沒有人有過讓這樣的系統設置爲跨多臺服務器工作的指針,或者我只是在開玩笑嗎?也許我應該在項目根目錄之外的系統上單獨安裝,然後繼續開發?

+1

我沒有看到回答所有問題的可能性,但我已經使用類似的一套軟件進行了設置。大約幾個月前使用PEAR安裝程序沒有問題嗎? – zerkms 2012-01-28 22:42:18

+0

@zerkms - 必須是我。我想我需要深入一點,看看它是如何發展的= o) – Eli 2012-01-29 09:10:59

回答

1

@work,我們在我們的軟件中使用許多PEAR軟件包,通過Pyrus將它們安裝到本地目錄中,並廣泛使用Phing作爲構建工具在不同的Linux系統上運行測試和部署軟件,一些開發人員甚至可以運行它們他們的Windows盒子。

它工作可靠,我們沒有遇到您所描述的問題。