2008-12-25 64 views
7

繼承問題。我使用三種不同的機器進行開發。我的搭檔正在使用兩個。我們必須在所有五臺機器上完成相同的設置程序才能開始工作。在虛擬機內部設置開發環境

在這裏使用一個php項目,所以: 安裝和配置,PDT,一個php調試器和一些版本的XAMPP。 然後可以安裝一個svn客戶端和其他工具。

再次,對五個機器中的每一個。

如果我們在與生產服務器使用相同堆棧設置相同版本的虛擬機中完成了所有這一切操作,該怎麼辦?然後,我們每個人都可以抓取VM映像的副本,在五臺機器的每一臺上運行該映像,並在該VM中完成我們的所有開發。把Eclipse,Apache,MySQL,這些作品全部放在這個虛擬主機中。

這種方法的唯一不足就是性能。這真的是一個大問題嗎?五款中最慢的機器是採用英特爾凌動1.6 GHz處理器的三星NC10。

您認爲這是可行的且實際上可用嗎?還是我瘋了?

回答

8

我使用虛擬機進行開發(運行在我的筆記本電腦上)並從未遇到性能問題。您可以採取的另一種方法是將驅動器映射到您想要的狀態。在需要時使用Acronis或Ghost重新映像每臺機器。只需要大約5-10分鐘即可在任何現代PC上恢復圖像。

+0

儘管VM映像的大小很大(大約10 GB),但它會讓您擺脫所有其他問題。現在,當外部磁盤從500 GB到1 TB不等時,您可以輕鬆地在同級中共享此VM映像。 – Pradeep 2008-12-25 08:37:49

+0

......非常真實,我們大部分時間都是這樣操作的。 – 2008-12-25 08:45:32

+0

我很高興人們正在使用這種方法,而且我不只是補充它。我會給它一個鏡頭。 – 2008-12-25 16:46:04

1

它當然可以做到。什麼讓我失望的是VM鏡像的大小,通常是幾個GB。將它放在網絡共享上意味着可能需要更長時間才能完成當前的安裝過程。我想外接硬盤將是最簡單的方法。

性能不會成爲任何Web開發的問題。

我不得不問爲什麼每次坐下工作時爲什麼現在的機器需要「重新成像」?

2

我使用虛擬機來處理所有「工作」,因爲它使我遠離「玩」。這種設置使我可以使用辦公室VPN,而不必將我的整個機器暴露在辦公室環境中(我相信它和互聯網一樣多;;-)另外,我不必擔心通過嘗試遊戲來搞亂我的開發環境或其他軟件。我的工作VM目前在V​​irtualBox內部運行,但過去我使用過VMWare。在使用Webex或終端服務器客戶端等圖形密集型程序時,我只注意到性能問題。

1

如果您使用的是Windows,您可能需要在主映像上使用SYSPREP,以便首次啓動虛擬機時運行「迷你設置」。從Windows的角度來看,機器具有完全相同的SID,主機名和其他東西 - 在同一網絡上運行具有相同SID的多臺機器可能會導致很多令人頭疼的問題。如果你想讓他們相互溝通,更是如此。

1

我已經在vmware虛擬機上運行websphere for zSeries,沒有任何問題,並且websphere的資源密集度高於任何PHP堆棧。我發現擁有一臺多核心機器或至少超線程技術可以使其運行速度更快。

1

使用vmware時,磁盤操作速度較慢。對於PHP開發,我懷疑這會是一個問題,但是如果您正在編譯大型C++項目,您一定會注意到它。還有Sun的VirtualBox是免費的,最新版本相當不錯(但我沒有看到磁盤操作的緩慢程度)。

0

我在實踐中使用這個想法。虛擬機通常很適合開發。

  1. 在多個操作系統和多個獨立的開發環境中運行。
  2. 保留較舊的開發環境以供以後支持。
  3. 可以很容易地備份,當硬盤驅動器崩潰時不需要從頭開始。
  4. 可以從開發人員複製到另一個人,因此每個人都不必進行繁瑣的安裝和配置。

下雙方都:

  1. 虛擬機是比較慢,需要更強大的計算機比你需要,否則。我會建議至少有4 G的內存,但最好更像是16,快速多核處理器和快速硬盤。
  2. 複製Windows操作系統虛擬機時,每個使用的虛擬機副本都應該有自己的產品密鑰。製作副本時,需要使用新產品密鑰進行註冊。
0

您是否想過像ansible這樣的軟件配置管理員,廚師或木偶?有了這樣的軟件,這些任務的自動化非常容易!它甚至可以創建新的虛擬機並配置它。