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

相关问题