练习 - 使用部署槽位部署 Web 应用
准备好交换两个插槽时,请确保已将正确的配置应用到被交换的插槽。
假设你已完成社交媒体 Web 应用版本 2 的测试。 现在,你想要将该版本部署到生产环境。 你希望通过自动交换应用的未来版本来进一步简化部署。
在这里,你将了解如何手动和自动交换。
配置槽设置
在部署 Web 应用版本 2 之前,请配置槽设置。 此处配置的设置不会影响演示应用。 本练习的目的是简单测试在交换槽时配置的运行情况。
若要配置槽设置,请执行以下步骤:
在 Azure 门户的“所有资源”视图中,转到 Web 应用的生产插槽的“概述”页。
导航到部署槽位的“配置”窗格。
选择“+ 新建应用程序设置”。 添加一个名为 ENVIRONMENT_NAME 并且值为 生产 的新设置。 选中 部署插槽设置 框,以将此设定为插槽设置。 选择“ 确定”。
添加名为 “APP_VERSION”的另一个设置,并输入值 1。 不要使其成为槽设置。 选择“ 确定”。
在顶部菜单栏中,选择“ 保存”,然后选择“ 继续”。
在 暂存 槽上重复上述步骤,但使用以下值:
名称 价值 部署槽位设置 ENVIRONMENT_NAME 过渡 是的 应用版本 2 否
交换槽
现在已在过渡槽中对 Web 应用版本 2 进行了测试,可以通过交换槽来部署该应用。 执行以下步骤:
若要确保配置生产槽,请选择 “所有资源”,然后选择 Web 应用的生产槽。
在左侧菜单窗格的“部署”下,选择“部署槽位”>“交换”。
请确保即将交换过渡槽和生产槽。 请注意交换将如何影响设置。 将在槽之间交换 APP_VERSION 设置的值,但不会交换 ENVIRONMENT 槽设置的值。 选择“交换”。
交换完成后,转到生产插槽的 Web 应用的概述页面,然后选择浏览。 Web 应用显示在新的浏览器选项卡上。请注意,Web 应用版本 2 现已投入生产。
关闭浏览器选项卡。
为过渡槽配置自动交换
假设现在正在使用部署槽位,并需要启用持续部署。 为此,请使用 Web 应用的自动交换功能。 在使用自动交换的系统中,将新代码部署到过渡槽时,Azure 会自动将其预热,并通过交换过渡槽和生产槽将其部署到生产。 若要配置自动交换,请执行以下步骤:
转到过渡槽的 Web 应用的 “配置 ”窗格,并转到“ 常规设置 ”选项卡。
将“自动交换已启用”设置为“打开”。
在“自动交换部署槽”列表中,选择“生产”,然后选择“保存”和“继续”。
部署新代码并将其自动交换到生产环境
现在,你将修改代码以创建 Web 应用版本 3。 将其部署到过渡槽时,会看到正在运行自动交换。 执行以下步骤:
在 Cloud Shell 右侧,如果尚未运行编辑器,请重启编辑器。
cd ~/demoapp/app-service-web-dotnet-get-started/ code .
在代码编辑器的左侧 “文件”列表中 ,展开 aspnet-get-started>Views>Home,然后选择 Index.cshtml。
找到以下代码。
<h1>Web App Version 2</h1>
将该代码替换为此代码。
<h1>Web App Version 3</h1>
若要保存更改,请按 Ctrl+S。
在 Cloud Shell 中运行以下命令。 出现提示时输入部署密码。
git add . git commit -m "Third version of web app." git push staging
等待部署完成。 即将完成文本输出时,你会看到一条消息,指示部署已请求自动交换到生产槽。
在 Azure 门户中,转到生产槽 Web 应用的“概述”页,然后选择“浏览”。 第三个版本的 Web 应用显示在新的浏览器选项卡上。如果显示旧版本,可能需要短暂等待,然后刷新页面。 交换操作是原子操作,并且会立即发生,但在交换操作运行之前,应用服务需要几秒钟来准备。
回滚新版本
假设将应用版本 3 部署到生产环境时出现了意外问题。 若要快速解决该问题,可以通过再次交换槽来回滚到站点的以前版本。
转到生产槽的 Web 应用的“部署槽位”窗格。
交换过渡槽和生产槽。
交换完成后,在“概述”页面上,选择“浏览”以最后一次查看应用程序。 你将看到版本 2 已重新部署到生产环境。