练习 - 创建部署槽位
部署槽位是 Web 应用的实例,可以在其中测试新应用版本,然后再部署它。 通过交换槽位,可以部署新版本的应用,而无需停机。
假设你已决定使用 Azure 应用服务部署槽位来简化社交媒体 Web 应用的新版本的部署。 想要在 Azure 中设置 Web 应用并配置一个或多个部署槽位。
在本练习中,你将设置一个 Web 应用,添加一个暂存用的新部署槽位,并将不同版本的 Web 应用部署到生产槽和暂存槽。
重要
需要自己的 Azure 订阅才能运行此练习,这可能会产生费用。 如果还没有 Azure 订阅,请在开始之前创建 一个免费帐户 。
创建 Web 应用
首先,在 Azure 门户中创建新的 Web 应用资源。
登录到 Azure 门户。
在资源菜单中,或在 主页 中选择“ 创建资源”。 此时会显示“创建资源”窗格。
在资源菜单中,选择 “Web”,然后从结果中选择 “Web 应用”。 此时会显示“创建 Web 应用”面板。
在“基本信息”选项卡上,为每个设置输入以下值。
设置 价值 项目详细信息 订阅 选择要用于完成练习的订阅 资源组 选择 “创建新 链接”,然后输入 mslearn-slots,然后选择“ 确定”。 实例详细信息 名称 输入唯一名称。 发布 代码 运行时堆栈 ASP.NET V4.8 操作系统 Windows操作系统 区域 选择你附近的区域。 应用服务计划 Windows 计划 接受默认值。 SKU 和大小 接受默认值。 选择 “下一步:部署”。
选择“下一页:网络”。
选择 “下一步:监视”,然后输入设置的以下值。
设置 价值 Application Insights 启用 Application Insights 切换到 “否” 选择“查看 + 创建”,然后选择“创建”。 等待部署成功。
部署完成后,选择“转到资源”。 此时会显示 Web 应用 的应用服务 窗格。
配置 Git 部署
尽管可以使用许多不同的工具将代码部署到 Web 应用,但在本练习中,你将设置 Web 应用以使用本地 git 存储库。
在“应用服务”菜单中的 “部署”下,选择 “部署中心”。 此时会显示应用服务的 部署中心 窗格。
在 “设置” 选项卡上,选择“ 源”,选择 “本地 Git”,然后在命令栏上选择“ 保存 ”以设置部署。
选择 “本地 Git/FTPS 凭据 ”选项卡。在 “用户范围”下,输入所选的唯一用户名和密码,然后在命令栏中选择“ 保存”。 记下用户名和密码供以后使用。
配置 git 客户端并克隆 Web 应用源代码
现在,你将在 Cloud Shell 中设置 git 客户端,并使用它克隆示例 Web 应用。
在页面顶部的 Azure 全局控件中,选择 Cloud Shell 图标以启动 Azure Cloud Shell 会话。
在 Cloud Shell 会话中,出现提示时,选择 Bash 体验并为订阅创建存储。
注释
Cloud Shell 要求使用 Azure 存储资源来保存在 Cloud Shell 中创建的任何文件。 首次打开 Cloud Shell 时,系统将提示你创建资源组、存储帐户和 Azure 文件共享。 此设置会自动用于所有未来的 Cloud Shell 会话。
在 Cloud Shell 中输入以下命令,将 <用户名替换为首选用户名> 。 此配置值不与任何 Azure 帐户关联,因此可以使用喜欢的任何值。
git config --global user.name <your-username>
在 Cloud Shell 中输入以下命令,将 <电子邮件地址> 替换为首选电子邮件地址。 此配置值不与任何 Azure 帐户关联,因此可以使用喜欢的任何值。
git config --global user.email <your-email-address>
输入以下代码以创建并打开
demoapp
源代码的文件夹。mkdir demoapp cd demoapp
输入以下代码以克隆 Web 应用的源并打开本地副本。
git clone https://github.com/Azure-Samples/app-service-web-dotnet-get-started.git cd app-service-web-dotnet-get-started
配置 git remote 以将应用部署到生产环境
我们将使用 git 将源代码部署到 Web 应用的生产槽,然后将应用的 git URL 设置为远程存储库。
在 Azure 门户中,Web 应用应处于活动状态。 在资源菜单中,选择“概述”。
在 Web 应用的“概述”窗格中, “概要” 部分在 “默认”域中具有 URL。 请注意,URL 包含 Web 应用的部署名称。
注释
如果看不到前面的屏幕截图中显示的 git 克隆 URL,请刷新门户。
将鼠标悬停在 Git 克隆 URL 上,然后选择 “复制到剪贴板 ”图标。 请注意,此值还包含部署用户名。
在 Cloud Shell 中,运行以下命令以配置名为“production”的 git 远程。 将<git-clone-url>替换为从上一步复制到剪贴板的内容。
cd app-service-web-dotnet-get-started git remote add production <git-clone-url>
运行以下命令,将 Web 应用部署到生产槽。 当系统提示输入密码时,请输入在上一任务中创建的部署密码。
git push production
终端会话标识在部署过程中进行的所有进程。 等待部署完成。 应会看到 部署成功 通知。
在 Azure 门户中,“ 概述 ”窗格仍应处于活动状态。 将鼠标悬停在 URL 上。 可以双击它以在新浏览器选项卡中打开它,也可以将其复制并粘贴到新的浏览器选项卡中。
关闭显示 Web 应用的浏览器选项卡。
创建新的过渡槽
对于 Web 应用,你创建了一个槽、生产槽,并将源代码部署到此槽。 让我们创建一个部署槽位,你可以在其中暂存新版本的 Web 应用。
在 Azure 门户菜单上,选择“ 主页”,在 Azure 服务中,选择“ 所有资源”。 按 类型 == 应用服务进行筛选,然后选择“ 应用”。
按 类型对结果进行排序,然后选择创建的应用服务。 此时会显示 Web 应用 的应用服务 窗格。
在“应用服务”菜单中的“部署”下,选择“部署槽”。 此时会显示应用服务的“部署槽位”窗格。
在命令栏中,选择“ + 添加槽”。 此时会显示 “添加槽 ”窗格。
在“名称”字段中,输入“过渡”,接受“克隆设置的位置”的默认值,然后选择“添加”。
成功创建部署槽位后,选择“ 关闭”。
设置过渡槽的 git 部署
我们将设置新的槽来使用 git 部署。
在 Azure 门户中 ,选择主页 ,然后从 Azure 服务中选择 “所有资源”。
按 资源组对资源进行排序。 对于资源组 mslearn-slots,你将看到两种应用服务类型。 部署槽位在门户中表示为单独的应用。
选择过渡槽。 随即将显示应用服务(槽)的“概述”窗格。
在“过渡”菜单中的 “部署”下,选择 “部署中心”。
在“设置”选项卡上,对于“源”,选择“本地 Git”,然后在命令栏中选择“保存”以设置用于过渡的部署。
在生成的 部署中心 窗格中,选择 “本地 Git/FTPS 凭据 ”选项卡。
在 “用户范围”下,输入所选的用户名和密码,然后选择“ 保存”。 Azure 更新用户凭据。 记下用户名和密码供以后使用。
设置 git 以将应用部署到过渡槽
若要使用 git 客户端将源代码部署到新槽,让我们向 git 配置添加额外的远程。
在“应用服务”菜单中,选择“概述”。 如果系统提示保存在上一个任务中创建的用户名的密码,请选择“ 保存”。
在 “概述 ”窗格的 “概要 ”部分中,将鼠标悬停在 Git 克隆 URL 值上,然后选择“ 复制到剪贴板 ”图标。 请注意,URL 包含过渡部署用户名。
注释
如果未看到 git 克隆 URL,请刷新门户。 请注意,用于过渡的“Git 克隆 URL”与生产槽的 URL 稍有不同,并且包括槽名称。
在 Cloud Shell 中,请确保位于 ~/demoapp/app-service-web-dotnet-get-started 文件夹中,然后运行以下命令,将 git-clone-uri> 替换为<在上一步中复制的 URL。
git remote add staging <git-clone-uri>
修改应用源代码并将应用部署到过渡槽
接下来,让我们对 Web 应用文件进行一个小更改,然后使用 git 将新版本部署到过渡槽:
在 Cloud Shell 中运行以下命令。
code .
在 FILES 列表中,展开 aspnet-get-started>Views>Home 文件夹,然后选择 Index.cshtml。
找到以下 HTML。
<h1>ASP.NET</h1>
将该代码替换为此 HTML。
<h1>Web App Version 2</h1>
按 Ctrl+S 保存更改,然后按 Ctrl+Q 关闭编辑器。
在 Cloud Shell 中,运行以下代码,将新版本的应用提交到 git,并将其部署到过渡槽。
git add . git commit -m "New version of web app." git push staging
出现提示时,输入部署密码。 用于在 Cloud Shell 会话中创建和部署预览显示的操作通知,应显示 部署成功。
浏览过渡槽
现在,您可以通过访问暂存部署槽的 URL 来查看该 Web 应用的新版本。
在 Azure 门户中的过渡槽的“概述”窗格中,从命令栏中选择“浏览”,或选择“默认域”中的 URL。 过渡 Web 应用版本 2 的主页显示在浏览器选项卡中。
恭喜,你已创建了一个具有其自己的 Web 应用代码版本的过渡槽,并且可以对其运行测试。 请记住,生产槽位具有以前的 Web 应用版本,用户还不能看到新代码。