通过交换部署槽位来部署 Web 应用

已完成

交换槽时,可以精确控制 Web 应用的行为和配置。

假设你为生产和过渡设置部署槽位。 在过渡槽中测试新版本的社交媒体 Web 应用。 现在是时候将新版本部署到生产环境了。 你想要顺利部署应用,并在正确的配置中部署。

在这里,你将了解将 Web 应用交换到生产环境的正确配置。

管理交换的配置

交换两个槽时,应用的配置将随应用一起移动到新槽位。 可以通过将单个应用程序设置和配置字符串配置为 槽设置来替代此行为。

例如,假设你有两个数据库。 将一个用于生产,另一个用于验收测试。 你始终希望过渡槽中的应用版本使用测试数据库。 生产槽中的应用版本应始终使用生产数据库。 可以通过将数据库连接字符串配置为槽设置来实现此整体配置。

配置槽设置

若要查看和配置交换的设置,请转到 Web 应用资源并按照以下步骤作:

  1. 在 Azure 门户菜单或 主页 上,选择 “所有资源”,然后选择要配置的部署槽位。

  2. 转到“配置”窗格

  3. “应用程序设置 ”选项卡上,观察你感兴趣的设置是否在 部署槽设置 字段中包含复选标记。 若要在给定设置上设置或取消设置复选标记,请选择设置的铅笔按钮进行编辑,然后将 部署槽设置 复选框切换为所需值,然后选择“ 确定”。

    Azure 门户中槽设置配置的屏幕截图。

    Azure 门户中切换部署槽设置的屏幕截图。

  4. 完成后,在“配置”窗格中选择“ 保存 ”以保存设置。

Azure 门户中的交换槽

若要在 Azure 门户中交换两个槽,请执行以下作:

  1. 在 Azure 门户菜单或 主页 上,选择 “所有资源”,然后转到 Web 应用的任何部署槽位,然后选择“ 部署槽 位”窗格。

  2. 选择“交换”。

  3. “交换 ”对话框中,可以选择源和目标槽,并查看要应用于交换槽的设置的摘要。

    在 Azure 门户中交换两个槽的屏幕截图。

了解槽交换预览

交换槽时,目标槽(通常是生产槽)中的设置将应用于源槽中的应用版本,然后交换主机名。 此时可能会发现问题。 例如,如果将数据库连接字符串配置为槽设置,则新版本的 Web 应用使用现有的生产数据库。 如果在交换前忘记升级生产数据库中的数据库架构,则当新应用版本尝试使用旧架构时,可能会看到错误和异常。

为了帮助你在应用投入生产之前发现问题,Azure 应用服务提供交换与预览功能。 选择此选项时,交换将分两个阶段进行:

  • 阶段 1:目标槽的槽设置应用于源槽中的 Web 应用。 然后,Azure 会预热源槽。 此时,交换作会暂停,以便可以在源槽中测试应用,以确保它适用于目标槽配置。 如果发现任何问题,请开始下一阶段。
  • 阶段 2:交换了两个站点的主机名。 源槽中的应用版本现在接收其槽设置。

重要

在过渡槽中测试 Web 应用。 消除代码 bug 和非lot 设置的问题。 交换与预览功能只能帮助你发现和消除生产槽设置引起的问题。 在开始任何类型的交换到生产环境之前,请确保其他所有内容都是健全的。

预览槽交换

若要使用交换与预览功能,请选择“ 使用预览执行交换”,查看设置,然后选择“ 开始交换”。

使用预览交换两个槽的屏幕截图。

按照链接预览新版本的网站。 在预览版中,将应用目标槽中的槽设置。 若要继续,请选择“ 完成交换”。

自动交换

自动交换为自动化部署管道带来了基于交换的部署的零停机时间和简单的回滚优势。 为自动交换配置槽时,每当将代码或内容推送到该槽时,Azure 都会自动交换它。

使用自动交换时,无法在交换前在过渡槽中测试新应用版本。 自动交换主要有利于需要零停机部署的用户和简单的自动化部署管道。

如果想要在交换之前进行测试,则需要一个更复杂的部署管道来请求槽交换本身。 或者,可以部署到专用于测试的单独槽。

注释

Linux 上的应用服务中不提供自动交换。

配置自动交换

若要为槽配置自动交换,请转到 Azure 门户中槽的 “配置 > 常规”设置 窗格。 在 “部署槽位”下,将 启用自动交换 设置为 打开”,从下拉列表中选择目标槽,然后选择顶部菜单栏上的“ 保存 ”。

Azure 门户中自动交换配置的屏幕截图。

此选项仅适用于生产槽以外的槽。