我们正在使用Teamcity并使用msbuild MSDeployPublish目标部署我们的网站。 这样可以正常工作,但我们还希望确保我们部署的服务器上的应用程序池将“加载用户配置文件”设置为true。
我们怎么做?
如果MSDeployPublish不可能,可以使用命令行步骤和MsDeploy.exe完成吗?
答案 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