【问题标题】:WebDeploy from TFS using Build Definitions to IIS site containing files changed by usersWebDeploy 从 TFS 使用构建定义到包含用户更改的文件的 IIS 站点
【发布时间】:2015-08-25 16:44:29
【问题描述】:

我使用构建定义和 WebDeploy 来简化将更新从 Team Foundation Server 推送到我的 IIS 服务器上的 ASP.NET Web 应用程序。

但 .cshtml、.js、.css 等文件可能会被 Web 应用程序的用户通过网站上的界面更改。

我的问题是,通过构建定义部署我的 Web 应用程序时,所有文件都将被覆盖。我想避免覆盖用户更改的文件。

就我而言,我有以下解决方案

  1. 手动复制所有文件(.cshtml、js、css、.etc)并合并到我的源代码中
  2. 在每次构建时,备份并恢复用户更改的文件,并对更改的文件进行手动合并
  3. 不知何故将文件从 IIS 拉到 TFS 并合并它们

选项 #3 是否可行,我正在寻找尽可能多的自动化。

【问题讨论】:

  • 在使用 Web Deploy 之前您是如何部署的?即使使用复制和粘贴也会覆盖更改的文件。
  • 我们使用了 BeyondCompare,它具有内置的 FTP 功能。但这意味着我们必须在本地构建它然后上传。
  • 所以您只需手动考虑用户所做的更改。
  • 是的。我不建议这样做,因为它很容易出错并且经常导致错误。这也是我寻找解决方案的原因。

标签: asp.net tfs msbuild webdeploy iis-8.5


【解决方案1】:

我希望将客户自定义的部分与我的产品的核心功能区分开来。他们不应该自定义我部署的文件,而是添加覆盖您的文件。

我假设您希望能够持续升级它们。

【讨论】:

  • 同意。应该使用包括来引入客户变化。它可以在经典 ASP、ASP.MVC 视图、CSS、HTML 中轻松完成。
  • 我同意,不幸的是这是不可能的。我正在寻找一种解决方案,可以提示我有更改,更改的文件不会被覆盖,或者我以某种方式将 TFS 连接到 IIS 服务器的疯狂-疯狂-糟糕的解决方案。
  • 你必须自己写。使用 PowerShell 脚本进行部署,并从那里弄清楚我是什么。
猜你喜欢
  • 1970-01-01
  • 2015-01-03
  • 2016-04-17
  • 1970-01-01
  • 2016-06-22
  • 2023-03-21
  • 2015-04-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多