从 VS 2015 部署时未正确创建 Web Deploy 3.6 自动备份

Web Deploy 3.6 automatic backup not created properly when deploying from VS 2015

我正在使用 Web Deploy 3.6 将 WebApp 从 Visual Studio 发布到 IIS 8.5 服务器。我已经在服务器端配置了自动备份(基于 this 文章),但是当我从 VS2015 发布我的 WebApp 时,我的备份只包含两个文件:archive.xml 和 system.xml.

如果我直接从 IIS 服务器发布相同的 Web 应用程序,则会按预期创建备份。

因为 Web Deploy 有一些已知的问题和限制,我检查了 msdeploy 自动创建和使用的用于发布我的 WebApp 的清单没有问题。

这是我的清单文件中的内容:

<?xml version="1.0" encoding="utf-8"?>
<sitemanifest>
  <IisApp path="C:\Users\niniel\Documents\Visual Studio 2015\Projects\ContosoUniversity\ContosoUniversity\obj\Debug\Package\PackageTmp" managedRuntimeVersion="v4.0" />
  <setAcl path="C:\Users\niniel\Documents\Visual Studio 2015\Projects\ContosoUniversity\ContosoUniversity\obj\Debug\Package\PackageTmp" setAclResourceType="Directory" />
  <setAcl path="C:\Users\niniel\Documents\Visual Studio 2015\Projects\ContosoUniversity\ContosoUniversity\obj\Debug\Package\PackageTmp" setAclUser="anonymousAuthenticationUser" setAclResourceType="Directory" />
</sitemanifest>

我尝试从另一台电脑发布,只是为了确定这个问题与我的电脑无关,我也遇到了同样的问题。

如有任何帮助或想法,我们将不胜感激:)

我会通过扩展 WebDeploy 包来设置备份。这样服务器就不必预先配置备份,它只是部署的一部分。

http://www.dotnetcatch.com/2016/05/19/extending-the-webdeploy-manifest/

旁注 - 当我们开始使用 WebDeploy 专门用于 Web 应用程序部署时,我们停止了备份。每个 WebDeploy 包都成为下一次部署的备份。您应该评估随着时间的推移进行额外的备份,并确定此过程是否继续有价值。在某个时候,你可以停下来。

以防万一有人遇到同样的问题,我不得不授予备份文件夹上 IIS_IUSRS 组的读取权限来解决我的问题。