在TFS 2012中使用连续集成进行自动部署



我已经为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可能有漏洞???