Поделиться через


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

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

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

Необходимые условия

Вход в Azure CLI

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

Войдите в учетную запись Azure с помощью следующей команды в Azure CLI:

az login

Следуйте инструкциям, чтобы завершить процесс входа.

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

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

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

    Снимок экрана, показывающий MicroProfile Starter со средой выполнения Helidon.

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

    Поле Ценность
    идентификатор группы com.microsoft.azure.samples.helidon
    artifactId helidon-hello-azure
    Версия MicroProfile MP 3.2
    Версия Java SE Java 11
    Среда выполнения MicroProfile Хелидон
    Примеры спецификаций Метрики, OpenAPI
  3. Выберите «DOWNLOAD», чтобы скачать проект.

  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

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

  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) y

    Эта команда создает выходные данные, аналогичные следующему примеру:

    [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 /greet, как и раньше, используя URL-адрес вашего веб-приложения с портала Azure вместо localhost. Появится следующее сообщение: Hello World

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

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

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

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

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

Если ресурсы Azure больше не нужны, очистите развернутые ресурсы, удалив группу ресурсов.

  1. На портале Azure выберите группу ресурсов в меню.
  2. Введите microprofile в поле Filter по имени. Группа ресурсов, созданная в этом руководстве, должна иметь этот префикс.
  3. Выберите группу ресурсов, созданную в этом руководстве.
  4. Выберите Удалить группу ресурсов в меню.

Дальнейшие действия

Чтобы узнать больше о MicroProfile и Azure, перейдите в Центр документации по MicroProfile в Azure.

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

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