练习 - 将 Web 应用部署到 Azure 应用服务

已完成

在上一单元中,你了解了适用于 Azure 应用服务的 Maven 插件如何使 Java 开发人员能够轻松地将其 Web 应用的生成和部署自动化到 Azure。 在本地测试 Web 应用后,下一步是将其部署到 Azure 应用服务。

在本练习中,你将将 azure-webapp-maven-plugin 插件添加到项目中,并配置将应用部署到 Azure 应用服务的必需设置。 成功将 Web 应用部署到 Azure 后,你将测试在 Azure 应用服务上运行的 Web 应用。

azure-webapp-maven-plugin 插件添加到项目

  1. 使用 azure-webapp-maven-plugin 以交互方式将插件和配置设置添加到 Maven pom.xml 文件:

    cd ~/MyWebApp
    mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:config
    

    为每个交互式提示输入以下值:

    提示 价值
    创建新的运行配置 输入 Y
    定义 OS 的值 输入 Linux 的相应编号
    定义 javaVersion 的值 输入 Java 17 的相应数字
    定义 WebContainer 的值 输入 TOMCAT 10.0 的相应编号
    定义 pricingTier 的值 输入 S1 的相应编号
    确认 (Y/N) 输入 Y

    该插件将添加反映您的选择的相应设置到pom.xml文件中。

  2. 您可以使用 code 验证和编辑 pom.xml 文件。

    code pom.xml
    
  3. pom.xml文件的<build>部分应类似于以下示例:

    <finalName>MyWebApp</finalName>
    <pluginManagement>
      ...
    </pluginManagement>
      <plugins>
        <plugin>
          <groupId>com.microsoft.azure</groupId>
          <artifactId>azure-webapp-maven-plugin</artifactId>
          <version>2.13.0</version>
          <configuration>
            <schemaVersion>v2</schemaVersion>
            ...
    
  4. 键入 Ctrl+S 保存更改。

  5. 键入 Ctrl+Q 退出代码编辑器。

将插件配置为使用沙盒资源组

  1. 在本练习中,需要确定沙盒资源组的名称和位置。 为此,请使用以下命令:

    az group list --query [0].name
    az group list --query [0].location
    

    复制这些值,以便在本练习的后面部分使用。

  2. 再次使用 azure-webapp-maven-plugin,以交互方式向 Maven pom.xml 文件配置更多设置。

    mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:config
    

    为每个交互式提示输入以下值:

    提示 价值
    请选择要配置的部件 输入相应编号以配置应用程序
    定义 appName 的值 接受默认值
    定义 resourceGroup 的值 输入之前复制的资源组 的名称 (应为 [沙盒资源组名称]
    定义区域的值 输入之前复制的资源组的位置
    定义 pricingTier 的值 输入 f1 层的相应编号
    确认 (Y/N) 输入 Y

    该插件将更新文件中 pom.xml 的设置。

部署和测试 Web 应用

  1. 使用 Maven 生成 Web 应用并将其部署到 Azure 应用服务:

    mvn package azure-webapp:deploy
    

    为每个交互式提示输入以下值:

    提示 价值
    请选择订阅 输入订阅的相应编号

    Maven 显示一系列生成消息,最终消息应指示成功部署到 Azure。

    [INFO] Successfully deployed the resources to MyWebApp-1570214065588
    [INFO] Trying to deploy artifact to MyWebApp-1570214065588...
    [INFO] Deploying (/home/cephas/MyWebApp/target/MyWebApp.war)[war]  ...
    [INFO] Application url: https://MyWebApp-1570214065588.azurewebsites.net
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  31.001 s
    [INFO] Finished at: 2024-05-02T12:08:40Z
    [INFO] ------------------------------------------------------------------------
    
  2. 通过选择 shell 中的 URL 访问已部署的应用。 默认情况下,Maven 插件将 Tomcat 应用程序部署到默认(根)上下文。

    在 Web 浏览器中的 Azure 应用服务上运行的示例 Web 应用。

在下一个练习中,你将更新 Web 应用并将其重新部署到 Azure 应用服务。