在使用MSBuild和MS Virtual Server和/或者Hyper-V Server虚拟化的构建过程中,如何创建虚拟机?

时间:2020-03-05 18:39:46  来源:igfitidea点击:

我想做的是创建一个干净的虚拟机映像作为应用程序构建的输出。

因此,将创建一个新的虚拟机(使用模板很好,安装了OS,并安装了一些基本软件)-将在IIS中创建一个新的网站,并将该Web应用程序的构建输出复制到该虚拟机上的某个位置。如果虚拟机硬盘和IIS配置正确,则VM将启动并运行。

我知道有MSBuild任务可以编写IIS中所有管理操作的脚本,但是如何使用虚拟机编写所有操作的脚本?具体来说,是从模板创建新的虚拟机,对其进行唯一命名,启动,配置等。

具体来说,我想知道是否有人在构建过程中成功实现了任何VM脚本。

更新:我假设使用Hyper-V,有一组不同的库/ API可以对虚拟机进行脚本编写,有人玩过吗?有做过这样的事情的实际经验的人吗?

解决方案

回答

实际上,我们可以在MS Virtual Server中编写大量任务的脚本:

http://www.microsoft.com/technet/scriptcenter/scripts/vs/default.mspx?mfr=true

http://msdn.microsoft.com/zh-CN/library/aa368876(VS.85).aspx

Virtual PC的家伙在他的博客上也有很多关于编写Virtual Server / PC和现在的Hyper-V脚本的内容:

http://blogs.msdn.com/virtual_pc_guy/default.aspx

VMware具有类似的功能:

http://www.vmware.com/support/developer/scripting-API/

回答

在CodePlex上签出Hyper-V的Powershell管理库。一些功能:

Finding a VM

  Connecting to a VM

  Discovering and manipulating Machine states

  Backing up, exporting and snapshotting VMs

  Adding and removing VMs, configuring motherboard settings.

  Manipulating Disk controllers, drives and disk images

  Manipluating Network Interface Cards

  Working with VHD files