【问题标题】:Auto Deploy using Continuous Integration in TFS 2012在 TFS 2012 中使用持续集成进行自动部署
【发布时间】:2012-09-10 19:40:18
【问题描述】:

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

当运行一个新的构建时,所有的测试都通过并且所有的项目都构建了,但是网站没有被部署。此外,我没有从构建中收到任何错误,表明出现任何问题。

我已经在远程服务器上打开了 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 正在成功构建项目,但没有尝试部署它。

有什么想法吗?

【问题讨论】:

  • 我认为/p:MsDeployServiceUrl 需要是服务器名称(将构建部署 URL)或部署服务端点(而不是站点)的 URL。stackoverflow.com/questions/7676840/… 有帮助吗?
  • 谢谢,我试试看。我是否需要在构建参数中指定要部署的项目?当我使用持续集成时,我指定了要构建的解决方案,而不是 WCF 项目。
  • 从服务器名称中删除 http:// 也有助于此工作
  • 令人沮丧的答案是您无法使用开箱即用的 TFS Build 进行部署。我看过其他使用 MSBuild 参数发布的教程,但问题是即使它有效,部署也会发生在构建过程中途和测试用例执行之前!实际上,您也将部署“失败”的构建。在 Team Foundation Service 上,Microsoft 使用具有集成步骤的自定义工作流 - 您可以采用相同的路线,但需要自定义开发构建过程。也许是工作流调用的 Powershell 脚本?

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


【解决方案1】:

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

Similiar problem

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

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

也许 TFS 2012 存在错误???

【讨论】:

    猜你喜欢
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    • 2014-08-14
    • 2016-08-28
    • 1970-01-01
    • 2013-05-09
    • 2014-04-24
    相关资源
    最近更新 更多