所以,这是交易。在Web应用程序项目设置中,我配置了一个部署包,其中包含所有内容文件以及该站点的IIS设置。应用程序池。现在,当我转到Team Build构建配置时,我使用以下参数来部署站点。
/p:UseWPP_CopyWebApplication=True
/p:PipelineDependsOnBuild=False
/p:DeployOnBuild=True
/p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=True
/p:MSDeployPublishMethod=WMSVC
/p:MSDeployServiceUrl=https://<servername>:8172/MsDeploy.axd
/p:AllowUntrustedCertificate=True
/p:DeployIisAppPath="mysite.com"
/p:UserName=<domain>\<user>
/p:Password=<password>
虽然这实际上有效,但如果目标服务器上不存在“mysite.com”站点或者未正确设置应用程序池(即ASP.NET版本不匹配),则部署将失败。所以我发现自己在从Team Build部署任何东西之前手动创建这些东西。有没有办法实现自动化?我错过了某种参数转换吗?我想用另一种方式来表达这个问题,就是为什么当包中包含所有IIS设置并且应该只部署时,我必须设置所有这些。
感谢您的帮助/解释。
修改
我不完全确定这是否属实,但我相信我无法创建网站/应用程序池。根据我对事物的理解,Team Build使用msbuild与msdeploy进行通信,并且该链接的功能非常有限。所以,我可能正在考虑更改构建工作流模板以执行命令行来部署包(?)。
答案 0 :(得分:0)
查看iisApp提供商的TechNet文档 http://technet.microsoft.com/en-us/library/dd569054(WS.10).aspx。在这四个参数中,这些是您可能感兴趣的参数: