0

我们正在使用 Teamcity 并使用 msbuild MSDeployPublish 目标部署我们的网站。这工作正常,但我们还想确保我们部署到的服务器上的应用程序池将“加载用户配置文件”设置为 true。

我们应该怎么做?

如果不能使用 MSDeployPublish,是否可以使用命令行步骤和 MsDeploy.exe 来完成?

4

1 回答 1

1

使用 MSBuild是不可能的,但使用 MSDeploy 是可能的。

MSDeploy 不会让您直接指定设置,但它会让您备份应用程序池并将其应用到另一台服务器(如果有任何设置差异,它将修改设置)。

首先,您需要备份您的设置并将它们提交给 SVN:

msdeploy -verb:sync 
         -source:appPoolConfig="name of your apppool"
         -dest:package="apppool.zip"

在编译期间,您需要将输出包同步appppol 包中,因为清单提供程序不能包含 package/archivedir 提供程序:

msdeploy -verb:sync
         -source:ApplicationPackage.zip
         -dest:appool.zip
         -skip:skipAction:Delete

(跳过会阻止部署从目标包中删除 appPoolConfig 提供程序)

注意:不要以相反的方式执行此操作(将 apppool.zip 转换为 ApplicationPackage.zip),因为它会删除您声明的所有参数,我不知道如何跳过它。

可能可以在生成之前将 apppool.zip 复制到 ApplicationPackage.zip 的“下方”(通过MsDeploySourceManifest),因此它实际上是一步合并的,但在我有时间对其进行测试之前,我会将其作为练习留给您。

注意:如果您希望将文件放在目录中而不是 zip 文件中,也可以使用 dest:archivedir

于 2012-09-27T11:12:42.553 回答