Web deployment 部署msdeploy iisApp包时未设置应用程序池
我遇到一个问题,msdeploy没有同步站点子应用程序(例如默认网站)的应用程序池信息 本质上,我希望能够创建webdeploy/msdeploy包,作为多个开发分支的夜间构建过程的一部分,然后将这些分支特定的包部署到服务器上进行冒烟测试。所有这些似乎都有道理,但不幸的是,我找不到一种方法来设置部署包的iisApp打算使用的应用程序池。我可以创建和部署包含appPoolConfig提供程序的包,以支持应用程序池本身的创建,但如果我无法在正在部署的应用程序上设置应用程序池,则这是无用的 顺便说一下,我觉得我几乎是在重复其他类似的问题。对于使用appPoolconfig或appPoolExtension,给出了各种各样的答案,但我在这些方面运气不好。从我的阅读中,appPoolConfig用于同步应用程序池本身,而不是“分配”给应用程序的应用程序池。顺便说一句,这种类型的同步操作工作得很好。至于appPoolExtension,当它被打开时,我不知道它实际上做了什么,因为我在生成的包中看不到任何差异 我可以使用一组简单的步骤重新创建问题,这些步骤只使用msdeploy,不使用WPP/webdeploy/msbuild,目的是它应该单独使用最低级别的工具: Windows 8(注意:我也可以在Win 2008 R2上复制此问题),安装了IIS和Web Deploy 3.0Web deployment 部署msdeploy iisApp包时未设置应用程序池,web-deployment,msdeploy,Web Deployment,Msdeploy,我遇到一个问题,msdeploy没有同步站点子应用程序(例如默认网站)的应用程序池信息 本质上,我希望能够创建webdeploy/msdeploy包,作为多个开发分支的夜间构建过程的一部分,然后将这些分支特定的包部署到服务器上进行冒烟测试。所有这些似乎都有道理,但不幸的是,我找不到一种方法来设置部署包的iisApp打算使用的应用程序池。我可以创建和部署包含appPoolConfig提供程序的包,以支持应用程序池本身的创建,但如果我无法在正在部署的应用程序上设置应用程序池,则这是无用的 顺便说一下
msdeploy -verb:sync -source:iisApp="Default Web Site/TestApp" -dest:package=c:\temp\testapp.zip,encryptPassword="password" -enableLink:AppPoolExtension
<pre>
<code>
msdeploy.exe -source:package='mysite.zip' -dest:auto,computerName='https://myserver:8172/MsDeploy.axd',userName='myuser',password='mypwd',authtype='basic' -verb:sync -enableLink:AppPoolExtension -allowUntrusted -setParam:"IIS Web Application Name"="mysite"
</code>
</pre>
msdeploy -verb:sync -source:c:\temp\testapp.zip,encryptPassword="password" -dest:iisApp="Default Web Site/TestApp" -enableLink:AppPoolExtension
在回答我自己的编辑问题时,此答案有效:。这引出了另一个问题,即如何在没有IIS的构建服务器上集成包创建,但我的想法是,首先根据所需的IIS设置、动态参数等创建一个模板包,但基本上没有内容。然后,构建过程将创建一个仅包含内容的包,并将其与模板包同步,以创建用于部署的最终包。通过您的编辑,您的问题已变得多方面,但我将一次解决一件事 只有
appHostConfig
提供程序才能创建全局IIS对象,如站点和应用程序池
iisap
只是createApp
(可以将目录标记为应用程序)和contentPath
(同步文件/文件夹)的组合
为了打包/同步appHostConfig
提供程序而不是iisApp
提供程序,您需要做两件事:
WebPublishPipelineWAPProjectSettings
,可以覆盖MSBuild文件以检查这些属性)includeIsSettings=true
谢谢Richard。今天我最终决定做一些类似的事情,唯一的区别是对WebAdministration模块使用powershell脚本。该脚本由json格式的简单数据文件驱动,仅用于支持新站点的初始创建。我本可以使用msdeploy和appHostConfig,但我们已经熟悉powershell模块。只需补充一点,我正在使用web deploy publishing创建已创建站点的正常部署的包。