【问题标题】:TFS build definition not deploying mvc application to IISTFS 构建定义未将 mvc 应用程序部署到 IIS
【发布时间】:2012-12-21 11:24:25
【问题描述】:

我正在尝试使用 Visual Studio 的 Team Explorer 和 TFS 创建构建定义以将 MVC 站点部署到 IIS。

我遵循了名为“使用 Team Foundation Server 2010 进行持续部署”的 Pluralsight 教程。

我从教程中遵循的步骤包括:

  • 已安装的 IIS 管理脚本和工具
  • 已安装管理服务
  • 在管理服务上,我允许远程连接并仅启用 Windows 凭据
  • 已安装 Web 部署
  • 已创建部署域帐户
  • 允许域帐户权限修改 IIS 文件系统
  • 使用此域帐户设置委派规则
  • 使用域帐户设置 IIS 权限

我在构建定义中设置的 MSBuild 争论是:

/p:DeployOnBuild=true 
/p:DeployTarget=MSDeployPublish 
/p:CreatePackageOnPublish=False 
/p:MSDeployPublishMethod=WMSVC 
/p:SkipExtraFilesOnServer=True 
/p:AllowUntrustedCertificate=True 
/p:MSDeployServiceUrl="https://<iis server name>:8172/msdeploy.axd"
/p:Username="<domain>\<user>" 
/p:Password="<password>" 
/p:DeployIISAppPath="Default Web Site/<site name>"

我对构建进行了排队,它通过了,被写入了放置文件夹,但没有写入 IIS。

我使用相同的属性值从解决方案资源管理器发布了 MVC 应用程序,它已成功部署到 IIS。

有人知道我错过了什么吗?

【问题讨论】:

  • 没有。你也在寻找答案吗?

标签: tfsbuild


【解决方案1】:

我通过检查本地机器上的内容并将其与构建服务器进行比较解决了这个问题。

我发现本地计算机上的“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0”文件夹中的“Web”和“WebApplication”文件夹不在构建的同一位置服务器。

一旦我将它们复制并粘贴到我的构建中,mvc 站点就会按预期部署到 IIS。

【讨论】:

  • 哦,谢谢你的回答..!构建服务器上缺少 Web 目录,我从我的机器上复制了它。它有效!
  • 天哪... 3 天解决此问题,然后我找到了您的帖子。谢谢!
【解决方案2】:

以下是对我有用的设置。尝试更改 CreatePackageOnPublish=True 看看它是否有效。

/p:DeployOnBuild=True
/p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=
/p:MSDeployPublishMethod=WMSVC
/p:MSDeployServiceUrl=https://ServerName:8172/MSDeploy.axd /p:DeployIisAppPath="NameofWebsiteOnIISServer"
/p:AllowUntrustedCertificate=True
/p:UserName="域\服务帐户"
/p:Password="AwesomeSecurePassword"

首先我建议检查您是否能够通过 webdeploy 直接通过 Visual Studio 发布。下面列出了在 Visual Studio 中找出正确的 Web 部署设置的最佳方法。我推荐这种方法,因为它会为您提供错误消息 v/s “queue a new build everytime”以查看网站是否已发布。

  1. 右键点击IIS7里面的网站 --> WebDeploy -->点击Configure Web Deploy Publishing
  2. 单击设置,然后获取生成的发布设置文件,并在您右键单击网站并单击 Visual Studio 中的发布网站时导入这些发布设置。
  3. 尝试先使用 Visual Studio 一键发布,因为使用 Visual Studio 中的 Web Deploy Publishing 更容易发现错误。

如果您收到错误,则此站点 (http://www.iis.net/learn/publish/troubleshooting-web-deploy/web-deploy-error-codes) 包含与之相关的所有错误消息。

确保您指定的服务帐户是否列在“管理”下的“IIS 管理器权限”部分中。

还要检查“Web Management Service”和“Web Deployment Agent Service”服务是否正在运行。

【讨论】:

  • 我还是不成功。我将 CreatePackageOnPublish 属性更改为 True。我没有得到任何构建错误。我可以通过VS成功发布。服务帐户列在“IIS 管理器权限”下,并且服务正在运行。
猜你喜欢
  • 2012-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-03
相关资源
最近更新 更多