Упражнение. Развертывание веб-приложения в Службе приложений Azure

Завершено

В этом уроке вы развернете веб-приложение Java Tomcat в Службе приложений Azure.

Подключаемый модуль Maven для службы приложений Azure

Корпорация Майкрософт предоставляет подключаемый модуль Maven для службы приложений Azure, чтобы упростить развертывание приложений в Azure разработчикам Java. С помощью этого подключаемого модуля вы можете легко настроить и развернуть приложение в Azure. Выполните действия, описанные в следующих разделах, чтобы настроить подключаемый модуль, скомпилировать исходный код и развернуть приложение.

Настройка плагина Maven для службы приложений Azure

Чтобы настроить плагин Maven для службы приложений Azure, выполните следующие действия.

  1. Запустите конфигурацию с помощью следующей команды:

    mvn com.microsoft.azure:azure-webapp-maven-plugin:2.10.0:config
    
  2. После использования команды некоторые вопросы отображаются в командной строке, что позволяет настроить различные параметры. Настройте параметры и значения в соответствии с сведениями в следующей таблице:

    Пункт Входное значение
    Подписка Выберите подписку Azure.
    Определение значения для ОС Линукс
    Определение значения ценовой категории B1
    Определение значения для версии Java Java 21
    Определение значения для стека среды выполнения TOMCAT 10.0
    Подтверждение (Y/N) У

    После настройки параметров следующие выходные данные являются типичными:

    mvn com.microsoft.azure:azure-webapp-maven-plugin:2.10.0:config
    [INFO] Scanning for projects...
    [INFO]
    [INFO] -------------------< com.example:simple-tomcat-app >--------------------
    [INFO] Building simple-tomcat-app 1.0-SNAPSHOT
    [INFO]   from pom.xml
    [INFO] --------------------------------[ war ]---------------------------------
    [INFO]
    [INFO] --- azure-webapp:2.10.0:config (default-cli) @ simple-tomcat-app ---
    Downloading from central: https://repo.maven.apache.org/maven2/net/minidev/json-smart/maven-metadata.xml
    Downloading from ossrh: https://oss.sonatype.org/content/repositories/snapshots/net/minidev/json-smart/maven-metadata.xml
    Downloading from shibboleth-repo: https://build.shibboleth.net/nexus/content/repositories/releases/net/minidev/json-smart/maven-metadata.xml
    Downloaded from central: https://repo.maven.apache.org/maven2/net/minidev/json-smart/maven-metadata.xml (1.3 kB at 6.3 kB/s)
    Please choose which part to config [Application]:
    * 1: Application
      2: Runtime
      3: DeploymentSlot
    Enter your choice: 1
    Define value for appName [simple-tomcat-app]: tomcatmavendemo
    Define value for resourceGroup [tomcatmavendemo-rg]: MyResourceGroup
    Define value for region [{azure.region}]: centralus
    Define value for pricingTier [B1]:
    *  1: B1
       2: B2
       3: B3
       4: D1
       5: EP1
       6: EP2
       7: EP3
       8: F1
       9: P1v2
      10: P1v3
      11: P2v2
      12: P2v3
      13: P3v2
      14: P3v3
      15: S1
      16: S2
      17: S3
      18: Y1
    Enter your choice: 1
    Please confirm webapp properties
    AppName : tomcatmavendemo
    ResourceGroup : MyResourceGroup
    Region : centralus
    PricingTier : B1
    OS : Linux
    Java Version: 21
    Web server stack: Tomcat 10.1
    Deploy to slot : false
    Confirm (Y/N) [Y]: Y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  01:49 min
    [INFO] Finished at: 2024-11-07T09:54:55-08:00
    [INFO] ------------------------------------------------------------------------
    
  3. Теперь файл pom.xml содержит новый раздел в <plugins> разделе. Если вы хотите изменить имя группы ресурсов, имя экземпляра или расположение развертывания, измените значения в элементах <resourceGroup>, <appName> или <region>. В следующем примере показан типичный файл pom.xml :

          <!-- Azure Web App Maven Plugin -->
    <plugin>
        <groupId>com.microsoft.azure</groupId>
        <artifactId>azure-webapp-maven-plugin</artifactId>
        <version>2.10.0</version>
        <configuration>
            <resourceGroup>MyResourceGroup</resourceGroup>
            <appName>tomcatmavendemo</appName>
            <region>centralus</region>
            <pricingTier>B1</pricingTier>
            <runtime>
                <os>linux</os>
                <javaVersion>21</javaVersion>
                <webContainer>Tomcat 10.1</webContainer>
            </runtime>
            <deployment>
                <resources>
                    <resource>
                        <directory>${project.build.directory}</directory>
                        <includes>
                            <include>*.war</include>
                        </includes>
                    </resource>
                </resources>
            </deployment>
        </configuration>
    </plugin>
    

Компиляция и развертывание в Службе приложений Azure

После завершения настройки параметров развертывания в Службе приложений Azure выполните следующие действия, чтобы скомпилировать исходный код и развернуть приложение в службах приложений Azure:

  1. Скомпилируйте исходный код еще раз с помощью следующей команды:

    mvn clean package
    
  2. После компиляции исходного кода используйте следующую команду для развертывания приложения:

    mvn azure-webapp:deploy
    

После завершения развертывания следующие выходные данные являются типичными:

[INFO] Successfully deployed the artifact to https://tomcatmavendemo.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  06:55 min
[INFO] Finished at: 2024-11-07T10:05:19-08:00
[INFO] ------------------------------------------------------------------------

Как видно, выходные данные предоставляют общедоступный URL-адрес развернутого приложения: Successfully deployed the artifact to https://tomcatmavendemo.azurewebsites.net

При переходе к приложению он должен выглядеть следующим образом:

Снимок экрана: развернутое веб-приложение в браузере.

Подтвердите поток журнала

Чтобы получить доступ к потоку журналов, используйте следующую команду:

az webapp log tail \
    --resource-group <your-resource-group> \
    --name <your-app-name>

Ниже приведены типичные выходные данные:

2024-11-07T18:14:37  Welcome, you are now connected to log-streaming service.
Starting Log Tail -n 10 of existing logs ----
/appsvctmp/volatile/logs/runtime/container.log
2024-11-07T18:06:05.3874260Z  java.base/java.lang.Thread.run(Thread.java:1583)
2024-11-07T18:06:05.5635356Z Nov 07, 2024 6:06:05 PM org.apache.coyote.AbstractProtocol stop
2024-11-07T18:06:05.5636042Z INFO: Stopping ProtocolHandler ["http-nio-127.0.0.1-80"]
2024-11-07T18:06:05.6020767Z Nov 07, 2024 6:06:05 PM org.apache.coyote.AbstractProtocol stop
2024-11-07T18:06:05.6021438Z INFO: Stopping ProtocolHandler ["http-nio-169.254.129.3-80"]
2024-11-07T18:06:05.6423756Z Nov 07, 2024 6:06:05 PM org.apache.coyote.AbstractProtocol destroy
2024-11-07T18:06:05.6424403Z INFO: Destroying ProtocolHandler ["http-nio-127.0.0.1-80"]
2024-11-07T18:06:05.6893602Z Nov 07, 2024 6:06:05 PM org.apache.coyote.AbstractProtocol destroy
2024-11-07T18:06:05.6894311Z INFO: Destroying ProtocolHandler ["http-nio-169.254.129.3-80"]
2024-11-07T18:06:05.7849816Z Done processing signal SIGTERM. Exiting now!
Ending Log Tail of existing logs ---
Starting Live Log Stream ---

Сводка упражнений

В этом уроке вы узнали, как создать веб-приложение Tomcat с помощью Maven. Вы также узнали, как создать сервлет и как это работает. Затем вы развернули веб-приложение локально с помощью Tomcat. Наконец, вы развернули приложение в службе Azure App Service, чтобы любой пользователь в мире мог получить к нему доступ.