Автоматизация VMWare или VirtualPC

В настоящее время я экспериментирую со сценарием сборки, и, поскольку у меня есть веб-часть ASP.net под контролем версий, мой сценарий сборки должен сделать это в конце:

  1. Получите "голый" образ Windows 2003 IIS VMWare или Virtual PC из сети
  2. Загрузите это
  3. Скопируйте файлы из папки сборки на сервер
  4. Установите это
  5. Делай все, что нужно

Я никогда не пробовал автоматизировать виртуальную машину, но заметил, что и VMWare, и виртуальный сервер предлагают средства автоматизации. Хотя я не могу использовать Virtual Server (Windows XP Home :-(), Virtual PC работает.

Есть ли у кого-нибудь здесь опыт работы с VMWare Server или Virtual PC 2007 SP1 с точки зрения автоматизации?

Какой из них лучше подходит (я запускаю окна, поэтому независимость от платформы VMWare не в счет) и легче автоматизировать?

Ответов (5)

Решение

В VMWare есть API-интерфейсы автоматизации виртуальных машин (VIX API) . Вы можете найти справочное руководство здесь . Он работает с VMWare Server и WorkStation, но, AFAIK, он недоступен для ESX Server.

С главной страницы VIX:

VIX API позволяет писать сценарии и программы, автоматизирующие операции виртуальных машин. API высокоуровневый, простой в использовании и практичный как для авторов сценариев, так и для программистов приложений. Он работает на продуктах VMware Server и Workstation, как Windows, так и Linux. Привязки предоставляются для C, Perl и COM (Visual Basic, VBscript, C#).

VirtualBox также имеет API для автоматизации своих виртуальных машин.

В дополнение к @Chris, ESX чрезвычайно поддерживает сценарии. Клиент, с которым я недавно работал, создал веб-службу, которая запускает сценарий VMware для создания необходимой им виртуальной машины, а затем запускает виртуальную машину с пользовательским загрузочным ISO. Этот ISO включает всю информацию о kickstart или unattend.txt, необходимую для создания полностью самостоятельной сборки ОС.

Я согласен с Крисом. API-интерфейсы автоматизации виртуальных машин - очень хорошая возможность для автоматизации операций виртуальных машин. VIX API версии 1.6.2 также можно использовать для автоматизации гостевых операций ESX.

Используйте https://github.com/dblock/vmwaretasks, а не необработанный API VixCOM, если вы собираетесь делать это на C#.