4

我正在研究虛擬機軟件對於運行構建服務器和測試環境最適合。用於構建服務器和測試環境的最佳虛擬機產品

我一直在讀一本關於測試驅動開發的書。第一步是創建一個行走的骨架,因爲他們稱之爲。因此,作爲一個.net愛好項目,我希望在虛擬機上設置CI服務器,讓它構建代碼和安裝程序。從那裏,軟件將以某種方式被自動安裝到另一臺虛擬機上,並進行驗收測試。也許這應該全部在一臺虛擬機上完成,我不確定。

我一直在研究VMWare播放器和VirtualBox,但我很難在它們之間進行選擇,我想知道是否有其他人有任何設置類似構建/測試環境的經驗。

任何意見

尼爾

編輯非常感謝:我看這個問題https://stackoverflow.com/questions/66317/which-is-the-best-vm-program-for-a-programmer這是有用的但它並不完全回答什麼,我在使用產品的經驗尋找。

回答

3

我會極力推薦的流浪漢項目

http://vagrantup.com/

管理virtualbox環境,因爲它可以讓你控制哪些安裝使用的配置工具同治像chefpuppet環境非常有用。

該技術對於管理基於Linux的虛擬機更爲成熟。你將被迫創建自己的窗口basebox。不幸的是,我不相信有一個免費的虛擬影像窗口,這阻礙了通過:-(

+0

因此,一旦代碼和安裝程序建立在第一個虛擬機上,我可以使用vagrant啓動另一個虛擬機,然後遠程安裝msi,然後從第一個虛擬機啓動集成/驗收測試? – Neil 2012-03-15 22:14:13

+0

是的。 Vagrant是管理開發和測試環境的框架。 – 2012-03-16 22:32:55

2

這是一個主觀問題,更多的沿着ServerFault的路線,但我會回答它。我喜歡Hyper-V或ESX,但我確信其他人也可以。不知道有一個「最好」,我會質疑任何人聲稱有。

你想要的東西是原生的hypervisor(Hyper-V,ESX,XenServer不是虛擬PC /服務器,KVM,VirtualBox或GSX),支持快照並且有一個自動化層適合你想要控制它。如果您想要與Microsoft Team Foundation Server的測試實驗室自動化集成,您還必須使用SCVMM(系統中心虛擬機管理器),這意味着使用Hyper-V。

在我上一份工作中,我們有50多個基於ESX的構建服務器和基礎快照。我們構建了稱爲VSphere API的自動化,以將VM重置爲基本快照並啓動。這確保了每個構建都以完全相同的清潔狀態從機器運行。我們每年在該基礎架構上運行超過10萬次構建。

我也使用HyperV做了類似的事情。 Hyper-V具有使用RPC的基於WMI的管理API,並且與VSphere打交道有點醜陋,但它很有用。 VSphere API是基於Web服務的,並且具有用於.NET的客戶端對象模型,這非常容易使用。

爲了測試您希望能夠以編程方式將虛擬機設置爲某種狀態,請將您的安裝程序部署到該虛擬機,然後運行您的集成測試套件。

+0

感謝您的詳細迴應,我甚至沒有遇到超v,但看起來非常有希望的我正在尋找。我正在考慮使用teamcity作爲ci服務器,因爲這是我在工作時使用的,但我想給Team Foundation一個好去處並不會有什麼傷害。 – Neil 2012-03-15 16:17:52

+0

我在家裏爲我的諮詢使用了所有這些。有關我的環境的描述,請訪問http://www.iswix.com/dnn/基本上,我需要一臺無頭服務器和一臺雙顯示器筆記本電腦來託管整個開發環境。 – 2012-03-15 17:58:43

相關問題