Best virtual machine product for build server and test environment

I am exploring which Virtual Machine software would be best for running a build server and test environment.

I read a book about Test Driven Development. The first step is to create a walking skeleton, as they call it. So, as a .net host project, I want to configure a CI server in a virtual machine, create code and installers. From there, the software will somehow be automatically installed on another virtual machine and conduct acceptance tests against it. Perhaps all this should be done in one virtual machine. I'm not sure.

I study the VMWare player and VirtualBox, but it’s hard for me to choose between them, I was wondering if anyone else had experience creating such a build / test environment.

Thanks so much for any advice.

Neil

EDIT: I see this question https://stackoverflow.com/questions/66317/which-is-the-best-vm-program-for-a-programmer , which is useful, however it doesn't quite answer what I'm looking for in the experience of using products.

+4
source share
2 answers

I highly recommend the vagrants project

http://vagrantup.com/

It is incredibly useful for managing virtualbox environments, as it allows you to control what is installed in your environment using a configuration management tool such as chef and puppet .

The technology is more mature for managing Linux-based virtual machines. You will have to create your own basebox windows. Unfortunately, I do not believe that there is a freely accessible image of a virtual camera for windows that prevents adoption: - (

+3
source

This is a subjective question and much more on ServerFault lines, but I will answer anyway. I like Hyper-V or ESX, but I'm sure everything is in order. Not sure if there is one β€œbest,” and I will question anyone who claims to be there.

You want something that is a native hypervisor (Hyper-V, ESX, XenServer notVirtual PC / Server, KVM, VirtualBox or GSX), supports snapshots and has an automation level suitable for how difficult you control it. If you want to integrate with Microsoft Team Foundation Server Test Lab technology, you will also have to use SCVMM (System Center Virtual Machine Manager), which means using Hyper-V.

At my last job, we had 50+ ESX-based servers with a basic snapshot. We had build automation that called the VSphere API before resetting the virtual machine as the base snapshot and turned on. This ensured that every assembly starts from the machine in the same clean state. We have spent more than 100,000 national teams a year on this infrastructure.

I also did similar things using HyperV. Hyper-V has a WMI-based management API that uses RPC and is a bit uglier to solve the then VSphere, but it works. The VSphere API is web-based and has a client object model for .NET that is much easier to use.

For testing, you want to be able to programmatically install a virtual machine in a specific state, deploy the installer to it, and then run the integration test suites.

+2
source

Source: https://habr.com/ru/post/1401641/


All Articles