使用Web Deploy和TeamCity修改应用程序池

时间:2012-09-26 08:19:43

标签: .net teamcity msdeploy web-deployment application-pool

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

我们怎么做?

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

1 个答案:

答案 0 :(得分:1)

It's not possible using 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),因为它会删除所有声明的参数,我不知道如何跳过它。 < / p>

可能在生成之前(通过MsDeploySourceManifest)将apppool.zip复制到“ApplicationPackage.zip”下面,所以它实际上只需一步合并,但我会把它作为练习留给你直到我得到是时候测试了。

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