我目前正将我的网站从带有IIS 6的Windows Server 2003( SourceServer )迁移到带有IIS 7.5的Windows Server 2008 R2( DestServer )。
我使用 MSDeploy 工具执行操作。检查依赖关系(仅 Windows身份验证,已安装在 DestServer 中)后,我在 SourceServer 中创建了包:
msdeploy -verb:sync -source:metakey = lm / w3svc / 5 -dest:package = c:\ Site5.zip> WebDeployPackage.log
我将其复制到 DestServer 中。从 DestServer 我使用以下方法测试部署:
msdeploy -verb:sync -source:package = c:\ Site5.zip -dest:metakey = lm / w3svc / 5 -whatif> WebDeploySync.log
但它给了我一个与缺少应用程序池相关的错误。事实上,我的目标之一是推动网站的发展,因为在 SourceServer 中,负责部署的人员对命名约定(池和站点)都造成了很大的混乱,分配了太多的应用程序(甚至10个)在单个应用程序池中等等。
因此,我的目标是在 DestServer 中的专用全新应用程序池中运行该站点。但是,如果MSDeploy在 DestServer 中找不到具有相同名称 SourceServer 的应用程序池,则它不会在 DestServer 上部署该程序包
我还尝试在MSDeploy中使用命令-enableLink: AppPoolExtension
来创建和部署包以获取应用程序池。然后包正确安装,但我不知道为什么,它会在配置文件中出错。例如,我无法启用任何类型的身份验证模块。
有没有办法让MSDeploy在部署时忽略应用程序池?
答案 0 :(得分:0)
msdeploy -verb:sync
-source:metakey=lm/w3svc/1,computerName=original,encryptPassword="pwd",includeAcls=true
-disableLink:ContentExtension
-dest:package=original.zip,encryptPassword="pwd"
-enableLink:AppPool
-skip:WebApplication="^.*$" >original.log