4

我已按照此处的说明进行操作http://www.iis.net/learn/publish/using-web-deploy/web-deploy-automatic-backups 并且设置工作正常。但我的网站有大量的应用程序。当我在网站上发布单个应用程序时,整个网站都会被备份。

我想要一个设置,当我将应用程序发布到我的站点时,Web 部署将备份该特定应用程序。这是我的设置

<wdeploy>
        <backup turnedOn="true" enabled="true" backupPath="d:\AppBackups\{siteName}" numberOfBackups="5" continueSyncOnBackupFailure="false">
            <excludedProviders>
                <provider name="appPoolEnable32Bit" />
                <provider name="setAcl" />
                <provider name="appPoolPipeline" />
                <provider name="createApp" />
                <provider name="appHostAuthOverride" />
                <provider name="appPoolNetFx" />
            </excludedProviders>
        </backup>
    </wdeploy>
4

2 回答 2

1

我也在为此苦苦挣扎,并找到了解决方法/解决方案,尽管我不喜欢它。您可以创建另一个内部“站点”,该站点映射到与子应用程序相同的路径位置,并为此设置备份。这样,当您部署到内部站点时,它将反映在另一个站点的子应用程序中,并且仍然会被备份。编辑:

  • 1. 您可以拥有站点 A:带有子应用程序 B、C、D
  • 2. 然后您可以创建一个站点 B,其物理目录链接到与应用程序 B 相同的位置
  • 3. 然后您可以在站点 B 上设置备份,它们将反映在应用程序 B 中
  • 4.站点B可以设置为不公开,您可以维护站点A的子目录路径,应用程序B
于 2017-01-13T16:24:15.517 回答
0

我也一直在努力寻找使用微软提供的工具的方法,但我认为这是不可能的(按设计):

1) Configure Web Deploy Publishing(IIS 菜单项)选项仅在网站级别可用,在 Web 应用程序级别不可用。也许他们认为,因为您是在站点级别进行配置,并且您可以从 Visual Studio 部署到您想要的任何 Web 应用程序上,返回所有站点,以确保安全。

2)部署自动备份似乎只知道扩展与站点相关的令牌:{SitePathParent}{siteName},所以没有应用程序级别的令牌。

因此,要么接受完整的站点备份(整个网站的 zip 文件可能需要一些时间),要么使用一些自定义 Powershell 脚本来针对 IIS 进行部署。

于 2016-12-24T22:34:47.253 回答