在TFS 2012中使用持续集成进行Auto Deploy

时间:2012-09-18 14:12:38

标签: deployment tfs continuous-integration tfsbuild web-deployment

我已经为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正在成功构建项目,但没有尝试部署它。

任何想法?

1 个答案:

答案 0 :(得分:7)

原来问题是构建服务器上缺少文件,正如对此问题的回答中所描述的那样:

Similiar problem

使用Web Platform安装程序安装Web Deploy 3.0时,并未安装所需的所有功能,以便通过MSBuild命令行远程连接到IIS。

我将nessesery文件从我的开发机器复制到构建服务器并手动安装了所有功能的Web Deploy 3.0,现在可以了!

也许TFS 2012有一个错误???