2010-09-08 32 views
5

我有一臺Windows 7機器,我在這臺機器上同時執行PHP/MySql開發和.NET/C#/ Sql Server編碼。由於最近重新安裝,我認爲這可能是一個理想的時間來嘗試保持我的機器清潔一點,而不是安裝Apache和IIS等。VirtualBox Ubuntu LAMP堆棧開發,與SVN和CruiseControl/phpUnderControl?

我安裝了VirtualBox,以Ubuntu 10.04作爲guest OS ,並計劃將我的PHP開發從舊的Windows/Apache/MySql平臺移到這個虛擬映像上。除此之外,我想將CruiseControl/phpUnderControl添加到我的PHP開發過程中。

到目前爲止,我已經安裝了帶有LAMP堆棧的Ubuntu 10.04,以及用於PHP,MySQL Workbench等的Netbeans,這與我的舊Windows開發設置完全相同,但我現在還安裝了SVN和CruiseControl(我還沒有安裝phpUnderControl,但這是下一步)。我的問題是,我可以使用這個虛擬圖像作爲我的「本地」開發環境和作爲構建服務器,這樣我就不需要將我的本機Windows機器與MySql/PHP相關的軟件(意味着我可以保持良好和清潔的.NET開發)?

我想我會需要虛擬網絡服務器能夠同時服務我正在工作的任何給定項目的「本地」開發版本,以及使用cruisecontrol/svn提交構建的分段版本?

或者我應該分開我的開發和構建服務器,也許保持本地開發在Windows中,並只使用虛擬圖像的構建服務器?或者可能有兩個單獨的虛擬機用於不同的目的?

我想欣賞一些關於設置這個最佳方式的建議。我想要處理的項目之一是非常複雜的,所以我想確保在開始項目之前以正確的方式完成項目,以便我可以通過版本控制,單元測試和持續集成確保項目得到良好維護,我是否應該需要讓其他開發人員參與這個項目。

回答

5

如果你正在尋找保持你的Windows盒清理MySQL/PHP工具,那麼我強烈推薦兩種虛擬機方法。一個用於LAMP等開發的桌面Linux發行版,用於快速編碼/調試周轉,以及一個鏡像真實服務器安裝(添加了svn等)的測試版本。

這給你帶來了巨大的好處,既有良好的開發環境,更重要的是有一個測試服務器,它將反映你的代碼在現場服務器上的操作。通過這種方式,您可以通過最新的發行版更新(內核,工具等)使開發環境虛擬機保持最新狀態,並且可以在構建虛擬機的任何應用程序版本位於實時計算機上。這需要大量的猜測,「是X庫還是我的代碼的新版本?」。

如果你想稍微矯枉過正,你實際上會想要3.一個用於開發,一個用於SVN /持續集成,另一個完全鏡像服務器,以便測試部署/系統配置。

+0

我確實考慮過多盒子的方法,但不確定是否有3個實例同時運行是過度殺毒,但是您已經說服了我的好處。 – 2010-09-09 07:02:18

3

如果您正在考慮讓您的VM用於開發,爲什麼不按照您設置分段/生產環境的方式進行設置?

此外,您可以設置虛擬機來託管代碼存儲庫和Web服務器,然後連接您的主機(Windows)本地工具。這樣你可以在你的Windows機器上開發,連接到虛擬機。

這使您能夠在虛擬機中模擬服務器環境的同時,在本地環境中執行所有操作。

VirtualBox確實可以實現網絡連接,您應該能夠使Windows主機通過網絡連接到服務器,就好像它真的是網絡上的另一個節點一樣。

+0

是的,我留下了深刻的印象:在網絡上獲得工作的虛擬機是多麼容易 - 我爲我設置的虛擬機設置了一個固定的IP,所以我可以從我的本機訪問它機器,我沒有理由不能用相同的方法設置多個虛擬機。我想我會採用3機方法,一個用於開發,一個用作SVN/CI構建服務器,另一個用於鏡像實時環境。 – 2010-09-09 07:04:40

+0

你會推薦哪些虛擬機工具用於開發? – BrightIntelDusk 2014-03-19 00:16:44