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

  1. 从网络获取“裸”Windows 2003 IIS VMWare 或 Virtual PC 映像
  2. 启动它
  3. 将文件从构建文件夹复制到服务器
  4. 安装它
  5. 做其他需要做的事

我从未尝试过自动化虚拟机,但我看到 VMWare 和 Virtual Server 都提供自动化设施。虽然我无法使用虚拟服务器(Windows XP Home :-(),但虚拟 PC 可以使用。

这里有人在自动化方面有使用 VMWare Server 或 Virtual PC 2007 SP1 的经验吗?

哪一个更适合(我运行Windows,所以VMWare的平台无关性不算)并且更容易自动化?

有帮助吗?

解决方案

使用VMWare,有 虚拟机自动化 API (VIX API). 。您可以找到参考指南 这里. 。它适用于 VMWare Server 和 WorkStation,但据我所知,它不适用于 ESX Server。

从 VIX 主页:

VIX API允许您编写自动化虚拟机操作的脚本和程序。对于脚本作者和应用程序程序员,API是高级,易于使用的,并且易于使用,并且具有实用性。它在Windows和Linux的VMware服务器和Workstation产品上运行。为C,Perl和COM提供绑定(Visual Basic,VBScript,C#)。

其他提示

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

我同意克里斯的观点。虚拟机自动化 API 非常有可能实现虚拟机操作的自动化。VIX API 版本 1.6.2 也可用于 ESX 客户机操作的自动化。

VirtualBox 还具有用于自动化虚拟机的 API。

跟进 @Chris,ESX 非常适合脚本化。我最近合作的一个客户构建了一个 Web 服务,该服务启动 VMware 脚本来创建他们需要的 VM,然后使用自定义引导 ISO 启动 VM。该 ISO 包含进行完全独立的操作系统构建所需的所有 kickstart 或 unattend.txt 信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top