Развертывание веб-приложения Helidon в Службе приложений Azure с помощью Maven

В этом кратком руководстве показано, как использовать подключаемый модуль Maven для веб-приложений Службы приложений Azure, чтобы развернуть приложение Helidon в Службе приложений Azure в Linux. Развертывание Java SE является предпочтительным по сравнению с Tomcat и файлами WAR, если вам нужно объединить зависимости, среду выполнения и файлы конфигурации приложения в единый развертываемый артефакт.

Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

Необходимые компоненты

Вход в Azure CLI

Azure CLI — самый простой и наиболее удобный способ развернуть приложение Helidon с помощью подключаемого модуля Maven.

Войдите в учетную запись Azure с помощью интерфейса командной строки Azure.

az login

Для завершения процесса входа следуйте инструкциям.

Создание примера приложения в MicroProfile Starter

В рамках этого раздела вы создадите приложение Helidon и протестируете его локально.

  1. Откройте веб-браузер и перейдите на сайт MicroProfile Starter.

    Снимок экрана: MicroProfile Starter с выбранной средой выполнения Helidon.

  2. Введите или выберите поле, как показано ниже.

    Поле значение
    groupId com.microsoft.azure.samples.helidon
    artifactId helidon-hello-azure
    MicroProfile Version (Версия MicroProfile) MP 3.2
    Java SE Version (Версия Java SE) Java 11
    MicroProfile Runtime (Среда выполнения MicroProfile) Helidon
    Examples for Specifications (Примеры для требований) Метрики, OpenAPI
  3. Выберите "Скачать", чтобы скачать проект.

  4. Распакуйте файл архива, например:

    unzip helidon-hello-azure.zip
    
  5. Вы также можете создать проект с помощью следующей команды:

    mvn -U archetype:generate -DinteractiveMode=false \
        -DarchetypeGroupId=io.helidon.archetypes \
        -DarchetypeArtifactId=helidon-quickstart-se \
        -DarchetypeVersion=2.0.0 \
        -DgroupId=com.microsoft.azure.samples.helidon \
        -DartifactId=helidon-hello-azure \
        -Dpackage=com.microsoft.azure.samples.helidon
    
  6. Перейдите в каталог готового проекта, например:

    cd helidon-hello-azure/
    
  7. Выполните сборку файла JAR с помощью Maven, например:

    mvn clean package
    
  8. При создании веб-приложения запустите веб-приложение с помощью Maven; например:

    java -jar target/helidon-hello-azure.jar
    
  9. Проверьте веб-приложение, перейдя к нему локально с помощью веб-браузера. Например, если имеется Curl, можно использовать следующую команду:

    curl http://localhost:8080/greet
    
  10. Появится следующее сообщение: Hello World

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

В рамках этого раздела вы настроите файл pom.xml проекта Helidon, чтобы развернуть приложение в Службе приложений Azure на платформе Linux с помощью Maven.

  1. Откройте файл pom.xml в текстовом редакторе.

  2. В разделе <build> файла pom.xml добавьте следующую запись <plugin> внутри тега <plugins>.

    <build>
      <finalName>helidon-hello-azure</finalName>
      <plugins>
        <plugin>
          <groupId>com.microsoft.azure</groupId>
          <artifactId>azure-webapp-maven-plugin</artifactId>
          <version>1.10.0</version>
        </plugin>
      </plugins>
    </build>
    
  3. Затем можно настроить развертывание, выполните следующую команду Maven:

    mvn azure-webapp:config
    

    Выберите следующие параметры, когда появится соответствующий запрос:

    Поле ввода Введите или выберите значение
    Определите значение для OS(Default: Linux): 1. Linux
    Определите значение javaVersion(Default: Java 8): 1. Java 11
    Подтверждение (Y/N) г

    Выходные данные этой команды выглядят примерно так:

    [INFO] Scanning for projects...
    [INFO]
    [INFO] ------< com.microsoft.azure.samples.helidon:helidon-hello-azure >-------
    [INFO] Building myproject 1.0-SNAPSHOT
    [INFO] --------------------------------[ jar ]---------------------------------
    [INFO]
    [INFO] --- azure-webapp-maven-plugin:1.10.0:config (default-cli) @ helidon-hello-azure ---
    Define value for OS(Default: Linux):
    1. linux [*]
    2. windows
    3. docker
    Enter index to use: 1
    Define value for javaVersion(Default: Java 8):
    1. Java 11
    2. Java 8 [*]
    Enter index to use: 1
    Please confirm webapp properties
    AppName : helidon-hello-azure-1600998900939
    ResourceGroup : helidon-hello-azure-1600998900939-rg
    Region : westeurope
    PricingTier : PremiumV2_P1v2
    OS : Linux
    RuntimeStack : JAVA 11-java11
    Deploy to slot : false
    Confirm (Y/N)? : y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  02:44 min
    [INFO] Finished at: 2020-09-25T10:57:35+09:00
    [INFO] ------------------------------------------------------------------------
    
  4. Добавьте раздел в <appSettings><configuration> раздел PORT, WEBSITES_PORTа также WEBSITES_CONTAINER_START_TIME_LIMIT. <include>/libs/*.jar</include> Добавьте ресурсы в развертывание.

    <plugin>
      <groupId>com.microsoft.azure</groupId>
      <artifactId>azure-webapp-maven-plugin</artifactId>
      <version>1.10.0</version>
      <configuration>
        <schemaVersion>V2</schemaVersion>
        <resourceGroup>microprofile</resourceGroup>
        <appName>helidon-hello-azure-1591663020899</appName>
        <pricingTier>P1v2</pricingTier>
        <region>japaneast</region>
        <runtime>
          <os>linux</os>
          <javaVersion>java11</javaVersion>
          <webContainer>java11</webContainer>
        </runtime>
        <appSettings>
          <property>
            <name>PORT</name>
            <value>8080</value>
          </property>
          <property>
            <name>WEBSITES_PORT</name>
            <value>8080</value>
          </property>
          <property>
            <name>WEBSITES_CONTAINER_START_TIME_LIMIT</name>
            <value>600</value>
          </property>
        </appSettings>
        <deployment>
          <resources>
            <resource>
              <directory>${project.basedir}/target</directory>
              <includes>
                <include>*.jar</include>
                <include>/libs/*.jar</include>
              </includes>
            </resource>
          </resources>
        </deployment>
      </configuration>
    

Развертывание приложения в Azure

После настройки всех параметров, описанных в предыдущих разделах этой статьи, вы можете развернуть веб-приложение в Azure. Для этого выполните следующие действия.

  1. В командной строке или в окне терминала, которые вы использовали ранее, перестройте JAR-файл, используя Maven, если вы внесли изменения в файл pom.xml; например:

    mvn clean package
    
  2. Разверните веб-приложение в Azure с помощью Maven; например:

    mvn azure-webapp:deploy
    

Maven развернет веб-приложение в Azure. Если веб-приложение или план веб-приложения еще не существует, он будет создан для вас. Отображение веб-приложения по URL-адресу, указанному в выходных данных, может занять несколько минут. В веб-браузере перейдите по URL-адресу. Появится сообщение: Hello World

Когда веб-сайт развернут, его можно управлять с помощью портал Azure.

Веб-приложение будет указано в Служба приложений.

Вы можете получить доступ к веб-приложению, выбрав "Обзор " на странице обзора веб-приложения.

Убедитесь, что развертывание прошло успешно, воспользовавшись описанной выше командой cURL (/data/hello). При этом вместо localhost введите URL-адрес веб-приложения, указанный на портале. Появится следующее сообщение: Hello World

Подтвердите поток журнала из запущенного Служба приложений

Вы можете просмотреть журналы (или выполнить вывод последнего фрагмента) из запущенной Службы приложений. Все вызовы console.log в коде сайта отображаются в окне терминала.

az webapp log tail \
    --resource-group microprofile \
    --name helidon-hello-azure-1600998900939

Снимок экрана: окно терминала с выходными данными журнала.

Очистка ресурсов

Если ресурсы Azure больше не нужны, их можно удалить. Для этого необходимо удалить группу ресурсов.

  • На портале Azure в меню слева выберите "Группа ресурсов".
  • Введите microprofile в поле Фильтровать по имени. Группа ресурсов, созданная при работе с этим учебником, должна иметь этот префикс.
  • Выберите группу ресурсов, созданную при работе с этим руководством.
  • В меню сверху выберите "Удалить группу ресурсов".

Следующие шаги

Дополнительные сведения о MicroProfile и Azure см. в центре документации об использовании MicroProfile в Azure.

Дополнительные ресурсы

Дополнительные сведения о различных технологиях, рассматриваемых в данной статье, см. в следующих статьях.