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

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

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

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

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

任何帮助或指导将不胜感激。

有帮助吗?

解决方案

好吧,与此同时我已经弄清楚了。

我最终使用了该文档 为 Windows Web 应用程序库打包应用程序 这为我提供了在 TeamCity 中扩展自动化构建以创建“可重复”导出包的方法。

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

parameters.xml 文件将用于设置 wcf 客户端和服务的主机名、连接字符串、应用程序设置等。

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

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