练习 - 从 IntelliJ IDE 管理应用部署
在上一单元中,你了解了用于 IntelliJ 的 Azure 工具包中的 Azure 资源管理器允许管理和配置 Azure Web 应用。 在本练习中,你将了解如何使用 Azure Explorer 在 IntelliJ IDEA 中从 Azure 应用服务的 Web 应用实时传输日志。
接下来,你将使用 Azure 资源管理器将一对属性添加到配置中来修改 Web 应用。 修改 Web 应用以读取这些属性的值,并在 Web 应用逻辑中使用它们。 然后,你将重新部署 Web 应用,并验证它是否按预期工作。
使用日志流式处理监视应用
在 IntelliJ IDEA 的 “视图 ”菜单上,选择 “工具”窗口 ,然后选择 “Azure 资源管理器”。
在 Azure 资源管理器 窗口中,展开 Web 应用,右键单击 Web 应用,然后选择“ 开始流式处理日志”。
几秒钟后你将看到日志出现。 可以访问 Web 应用以生成一些日志。
若要停止流式处理日志,请右键单击 Web 应用并选择“ 停止流式处理日志”。
向 Web 应用添加配置属性
在 Azure 资源管理器 窗口中,右键单击 Web 应用,然后选择“ 显示属性”。 Web 应用的属性窗口应显示:
在属性窗口中,选择 “添加 ”图标以添加新的属性键和值。
在新属性的 “名称 ”列中,输入名称 Delay。
在属性的 “值 ”列中,键入值 2,然后按 Enter。
在属性窗口中,再次选择 “添加 ”图标。
添加另一个名为“迭代”的属性,其值为 10。
选择“ 保存”。
修改 Web 应用以使用属性
在 “项目资源管理器” 窗口中,双击 index.jsp 以重新打开它。
在网页的
<body>
代码部分中,更新代码,如下所示:<body> <%! int delayms = Integer.valueOf(System.getenv("Delay")) * 1000; int iterations = Integer.valueOf(System.getenv("Iterations")); DateFormat fmt = new SimpleDateFormat("dd/MM/yy HH:mm:ss"); %> <% for (int i = 0; i < iterations; i++) { Thread.sleep(delayms); %> <p>Today's date is <%= fmt.format(new Date()) %></p> <% } %> <p>Your IP address is <%= request.getRemoteAddr() %></p> </body>
此代码读取这两个属性的值,这些属性作为 Web 应用运行时的环境变量公开。 该代码以 延迟 秒为间隔显示日期和时间,循环 迭代 次数。
注释
在此示例中,代码在生成输出时同步运行。 这意味着页面最多可能需要 20 秒才能显示。
在“文件”菜单上,单击“全部保存”。
在 “项目资源管理器” 窗口中,右键单击 Web 应用,选择 Azure,然后选择“ 部署到 Azure Web 应用”。
在 “部署 Web 应用 ”窗口中,接受默认设置,然后选择“ 运行”。 此操作会用新版本覆盖现有 Web 应用。
在 Azure 活动日志 窗口中,等待进度列指示 Web 应用已成功部署。
选择“Azure 活动日志”窗口中的“已发布”链接。 此时会打开一个新的浏览器窗口。 20 秒后,将会显示每两秒更新一次时间的消息,随后显示客户端计算机的 IP 地址。
注释
如果在网站仍在发布时尝试浏览到网站,则会看到 HTTP 403 错误。 如果发生这种情况,请等待几秒钟并刷新 Web 浏览器。
将浏览器窗口保持打开状态并返回到 IntelliJ IDEA。
在 Azure 资源管理器 窗口中,右键单击 Web 应用,然后选择“ 显示属性”。
在“属性”窗口中,选择 “延迟 ”属性,双击“ 值 ”字段进行编辑。 将值更改为 1。
选择 Iterations 属性并将值更改为 5。
选择“ 保存”。
切换回 Web 浏览器,并刷新显示。 这一次,页面将以每秒一次的间隔显示时间,并且只重复五次。 请注意,无需重新部署 Web 应用。
重要
使用用于 IntelliJ 的 Azure 工具包删除 Web 应用不会删除应用服务计划,但可以使用 Azure 门户删除该计划。 为此,请导航到相应的资源组,选择应用服务计划,然后单击“ 删除”,如下图所示: