我已经为WCF项目设置了持续集成,并希望使用MSBuild Arguments自动将应用程序部署到远程服务器,但它没有部署。
运行新的Build时,所有测试都通过,所有项目都会构建,但网站没有部署。此外,我从构建中得到的任何错误都没有说出任何错误。
我在远程服务器上打开了端口8172,以确保可以与IIS建立连接,甚至禁用防火墙。
在构建配置中,我指定了以下参数;
/p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:DeployIisAppPath="Default Web Site/MYSite" /p:MsDeployServiceUrl=http://mysite.com /p:username=MySite\Administrator /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部署并已安装Web Deploy 3.0以确保这是capabale,但尚未解决我的问题。
我已检查IIS连接日志,以查看是否正在建立与IIS的远程连接,并且我的构建服务器与应用服务器之间没有连接。
我已尝试使用以下内容手动在构建服务器上运行MSBuild.exe以进行解决方案和项目:
MSBuild.exe“项目位置”/ p:DeployOnBuild = True / p:DeployTarget = MsDeployPublish / p:MSDeployPublishMethod = WMSVC / p:DeployIisAppPath =“默认网站/ app”/ p:MsDeployServiceUrl = http://appserver:8172/MSDeploy.axd / p:AllowUntrustedCertificate = True / p:CreatePackageOnPublish = False / p:Username = username / p:Password = password
MSBuild正在成功构建项目,但没有尝试部署它。
任何想法?
答案 0 :(得分:7)
原来问题是构建服务器上缺少文件,正如对此问题的回答中所描述的那样:
使用Web Platform安装程序安装Web Deploy 3.0时,并未安装所需的所有功能,以便通过MSBuild命令行远程连接到IIS。
我将nessesery文件从我的开发机器复制到构建服务器并手动安装了所有功能的Web Deploy 3.0,现在可以了!
也许TFS 2012有一个错误???