如何为IIS WebSite创建Web部署包并使用标准清单/参数

时间:2010-10-06 11:00:55

标签: msbuild webdeploy

我有各种带有简单svc文件的IIS托管服务主机等。我想要做的是能够使用IIS导出包从我们的测试服务器创建部署包,其方式是可以保存参数并在导出时获取时间,以便导出可重复和自动化。即Export将始终使用必要的Manifest扩展,例如XmlFile等。

网站存在于解决方案中,然后在每个解决方案中使用Web部署项目进行选择,以便完成配置替换等。

我们目前使用的是VS 2008 SP1,因此无法直接访问VS 2010

我与MsBuild(在TeamCity中运行)的第一个问题是如何在没有项目文件的情况下构建IIS网站(使用target = Package)?通过这种方式,我可以避免Web部署项目(我将它们用于各种配置,但不希望以这种方式部署到生产,而是从我们经过全面测试的转储导出到要导入到生产的包文件中服务器)。

其次,我希望每次运行时都避免在IIS 7中配置导出。我希望它只是选择正确的扩展集来使用并为我创建必要的参数。这是从Manifest文件完成的吗?我可以看到如何使用parameters.xml,但我不清楚是否需要使用manifest.xml(手工创建)以及如何将其链接。想法是测试人员/部署人员应该能够无需启用所有必需的扩展即可轻松导出

非常感谢任何帮助或指导。

1 个答案:

答案 0 :(得分:2)

好的,与此同时我弄清楚了。

我最终在Package an Application for the Windows Web Application Gallery处使用了该文档,这使我能够在TeamCity中扩展自动构建以创建“可重复”的导出包。

简而言之,我将使用当前的Web部署项目来创建部署工件,然后在MsBuild中将它们与预先准备好的manifest.xml和parameters.xml文件合并到Build artefacts文件夹中,并将它们压缩到一个包中。从那里,任务将是将包导入目标环境中的IIS Deploy。

parameters.xml文件将用于为wcf客户端和服务,连接字符串,应用程序设置等设置HostName。

这是最好的解决方案,因为我可以将它放入我们的自动构建中。