自动化VMWare或者VirtualPC

时间:2020-03-05 18:38:20  来源:igfitidea点击:

我目前正在尝试构建脚本,并且由于我在源代码控制下拥有一个ASP.net Web部件,因此我的构建脚本应在最后执行此操作:

  • 从网络中获取"裸机" Windows 2003 IIS VMWare或者Virtual PC映像
  • 启动它
  • 将文件从Build文件夹复制到服务器
  • 安装它
  • 做其他需要做的事情

我从未尝试过自动化虚拟机,但是我看到VMWare和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主页上:

The VIX API allows you to write
  scripts and programs that automate
  virtual machine operations. The API is
  high-level, easy to use, and practical
  for both script writers and
  application programmers. It runs on
  VMware Server and Workstation
  products, both Windows and Linux.
  Bindings are provided for C, Perl, and
  COM (Visual Basic, VBscript, C#).

回答

VirtualBox还具有用于自动化其VM的API。

回答

为了跟进@ Chris,ESX非常易于编写脚本。我最近使用的客户端已经构建了一个Web服务,该服务启动VMware脚本来创建所需的VM,然后使用自定义启动ISO启动VM。该ISO包含了进行完全无辅助的OS构建所需的所有kickstart或者unattend.txt信息。

回答

我同意克里斯。
虚拟机自动化API非常有可能实现虚拟机操作的自动化。
VIX API版本1.6.2也可以用于自动执行ESX来宾操作。

回答

如果要在C#中执行此操作,请使用https://github.com/dblock/vmwaretasks而不是原始的VixCOM API。