В настоящее время я экспериментирую со скриптом сборки, и, поскольку у меня есть веб-часть ASP.net под управлением исходного кода, мой скрипт сборки должен сделать это в конце:
- Захватите «голый» образ Windows 2003 IIS VMWare или Virtual PC из сети
- Загрузи это
- Скопируйте файлы из папки сборки на сервер
- Установить его
- Делай все что нужно
Я никогда не пытался автоматизировать виртуальную машину, но я видел, что и VMWare, и Virtual Server предлагают средства автоматизации. Хотя я не могу использовать Virtual Server (Windows XP Home :-(), Virtual PC работает.
Кто-нибудь здесь имеет опыт работы с VMWare Server или Virtual PC 2007 SP1 с точки зрения автоматизации?
Какой из них лучше подходит (я запускаю windows, поэтому независимость от платформы VMWare не учитывает) и его легче автоматизировать?
С VMWare есть API автоматизации виртуальной машины (VIX API) . Вы можете найти справочное руководство здесь . Он работает с VMWare Server и WorkStation, но AFAIK недоступен для ESX Server.
С главной страницы для VIX:
API VIX позволяет вам писать скрипты и программы, которые автоматизируют операции виртуальной машины. 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 #.