我正在使用Web Deploy 3.6将WebApp从Visual Studio发布到IIS 8.5服务器。我在服务器端配置了自动备份(基于this文章),但是当我从VS2015发布我的WebApp时,我的备份只包含两个文件:archive.xml和system.xml。
如果我直接从IIS服务器发布相同的WebApp,则会按预期创建备份。
由于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>
我尝试从另一台计算机发布,只是为了确保此问题与我的计算机无关,我遇到了同样的问题。
任何帮助或想法将不胜感激:)
答案 0 :(得分:0)
我会通过扩展WebDeploy包来设置备份。这样,服务器就不必为备份预先配置,它只是部署的一部分。
http://www.dotnetcatch.com/2016/05/19/extending-the-webdeploy-manifest/
旁注 - 当我们开始专门为Web应用部署使用WebDeploy时,我们停止了备份。每个WebDeploy包都成为下一次部署的备份。您应该评估随着时间的推移采取额外的备份,并确定此过程是否继续有价值。在某些时候,你可以希望停止。
答案 1 :(得分:0)
如果有人遇到同样的问题,我必须给备份文件夹上的IIS_IUSRS组提供读取权限以解决我的问题。