3

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

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

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

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

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

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

4

1 回答 1

2

好的,与此同时,我想通了。

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

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

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

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

于 2010-10-07T13:07:20.237 回答