14

我已经为 WCF 项目设置了持续集成,并希望使用 MSBuild Arguments 将应用程序自动部署到远程服务器,但它没有部署。

当运行一个新的构建时,所有的测试都通过了,所有的项目都构建了,但是网站没有被部署。此外,我没有从构建中得到任何错误,说任何事情都出错了。

我在远程服务器上打开了端口 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 deploy 并安装了 Web Deploy 3.0 以确保这是可行的,但没有解决我的问题。

我检查了 IIS 连接日志以查看是否正在建立与 IIS 的远程连接,并且没有从我的构建服务器建立到应用程序服务器的连接。

我尝试使用以下命令手动在构建服务器上为解决方案和项目运行 MSBuild.exe:

MSBuild.exe "项目位置" /p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:MSDeployPublishMethod=WMSVC /p:DeployIisAppPath="Default Web Site/app" /p:MsDeployServiceUrl= http://appserver:8172/ MSDeploy.axd /p:AllowUntrustedCertificate=True /p:CreatePackageOnPublish=False /p:Username=username /p:Password=password

MSBuild 正在成功构建项目,但没有尝试部署它。

有任何想法吗?

4

1 回答 1

7

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

类似的问题

此外,在使用 Web 平台安装程序安装 Web Deploy 3.0 时,并没有安装所有必需的功能,以便通过 MSBuild 命令行远程连接到 IIS。

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

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

于 2012-09-19T16:06:26.957 回答