我已经为WCF项目设置了连续集成,并希望使用MSBuild参数将应用程序自动部署到远程服务器,但它没有部署。
当运行新的Build时,所有测试都通过了,所有项目都在构建,但网站没有部署。此外,我没有从构建中得到任何错误来说明任何问题。
我在远程服务器上打开了8172端口,以确保可以连接到IIS,甚至禁用了防火墙。
在构建配置中,我指定了以下参数;
/p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:DeployIisAppPath="Default Web Site/MYSite" /p:MsDeployServiceUrl=http://mysite.com /p:username=MySiteAdministrator /p:password=thePassword
我从以下示例中编译了此配置:
http://vishaljoshi.blogspot.co.uk/2010/11/team-build-web-deployment-web-deploy-vs.html
http://www.chrissurfleet.co.uk/post/2011/07/21/Setting-Up-Continuous-Deployment-In-TFS.aspx
我已将服务器的IIS配置为启用远程连接,并且可以从生成服务器远程管理IIS。此外,我还使用Visual Studio 2012发布选项成功部署了应用程序。
有人能看到我的MS Build Arguments有问题吗?我遗漏了什么吗?
任何帮助都将非常感谢
更新:
我已经检查了构建服务器以检查是否安装了MS deploy,并安装了Web deploy 3.0以确保这是可行的,但还没有解决我的问题。
我已经检查了IIS连接日志,看看是否正在建立到IIS的远程连接,并且没有从我的生成服务器到应用服务器的连接。
我已尝试使用以下命令在生成服务器上手动运行解决方案和项目的MSBuild.exe:
MSBuild.exe"项目位置"/p:DeployOnBuild=True/p:DeployTarget=MsDeployPublish/p:MSDeployPublishMethod=WMSVC/p:DeplyIisappPath="默认网站/app"/p:MsDeployServiceUrl=http://appserver:8172/MSDeploy.axd/p:AllowUntrustedCertificate=True/p:CreatePackageOnPublish=False/p:用户名=用户名/p:密码=密码
MSBuild正在成功生成项目,但没有尝试部署它。
有什么想法吗?
发现问题是构建服务器上缺少文件,如问题答案中所述:
类似问题
此外,使用Web平台安装程序安装Web Deploy 3.0时,并没有安装通过MSBuild命令行远程连接到IIS所需的所有功能。
我将nesssery文件从我的开发机器复制到构建服务器,并手动安装了具有所有功能的Web Deploy 3.0,现在可以工作了!
TFS 2012可能有漏洞???