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

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

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

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

Вход в Azure CLI

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

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

az login

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

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

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

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

    Снимок экрана: Начальная версия MicroProfile с выбранной средой выполнения Payara Micro.

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

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

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

    unzip payaraMicro-hello-azure.zip
    

Запуск приложения в локальной среде

  1. Перейдите в каталог готового проекта, например:

    cd payaramicro-hello-azure/
    
  2. Создайте проект с помощью Maven; например:

    mvn clean package
    
  3. Запустите проект, например:

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

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

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

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

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

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

    <build>
      <finalName>payaramicro-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
    Определите значение для runtimeStack(Default: TOMCAT 8.5): TOMCAT 8.5
    Подтверждение (Y/N) г

    [! ПРИМЕЧАНИЕ] Несмотря на то, что мы не используем Tomcat, выберите TOMCAT 8.5 в это время. Во время подробной конфигурации вы измените значение в TOMCAT 8.5Java11.

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

    [INFO] Scanning for projects...
    [INFO]
    [INFO] --< com.microsoft.azure.samples.payaramicro:payaramicro-hello-azure >---
    [INFO] Building payaramicro-hello-azure 1.0-SNAPSHOT
    [INFO] --------------------------------[ war ]---------------------------------
    [INFO]
    [INFO] --- azure-webapp-maven-plugin:1.10.0:config (default-cli) @ payaramicro-hello-azure ---
    Define value for OS(Default: Linux):
    1. linux [*]
    2. windows
    3. docker
    Enter index to use:
    Define value for javaVersion(Default: Java 8):
    1. Java 11
    2. Java 8 [*]
    Enter index to use: 1
    Define value for runtimeStack(Default: TOMCAT 8.5):
    1. TOMCAT 9.0
    2. TOMCAT 8.5 [*]
    Enter index to use:
    Please confirm webapp properties
    AppName : payaramicro-hello-azure-1601009217863
    ResourceGroup : payaramicro-hello-azure-1601009217863-rg
    Region : westeurope
    PricingTier : PremiumV2_P1v2
    OS : Linux
    RuntimeStack : TOMCAT 8.5-java11
    Deploy to slot : false
    Confirm (Y/N)? : y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  22.302 s
    [INFO] Finished at: 2020-09-25T13:47:11+09:00
    [INFO] ------------------------------------------------------------------------
    
  4. Измените runtime запись из TOMCAT 8.5java11 в и deployment запись из *.war*.jar. Затем добавьте раздел в <appSettings><configuration> раздел PORT, WEBSITES_PORTа WEBSITES_CONTAINER_START_TIME_LIMITзатем . Xml-запись azure-webapp-maven-plugin должна выглядеть примерно так:

    <plugin>
      <groupId>com.microsoft.azure</groupId>
      <artifactId>azure-webapp-maven-plugin</artifactId>
      <version>1.9.1</version>
      <configuration>
        <schemaVersion>V2</schemaVersion>
        <resourceGroup>microprofile</resourceGroup>
        <appName>payaramicro-hello-azure-1591860934798</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>
              </includes>
            </resource>
          </resources>
        </deployment>
      </configuration>
    </plugin>
    

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

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

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

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

    mvn azure-webapp:deploy
    

Если вы успешно завершили развертывание, вы увидите следующие выходные данные.

[INFO] Successfully deployed the artifact to https://payaramicro-hello-azure-1601009217863.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:58 min
[INFO] Finished at: 2020-09-25T13:55:13+09:00
[INFO] ------------------------------------------------------------------------

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

Снимок экрана: веб-браузер с первой страницей Payara Micro.

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

Веб-приложение будет указано в группе ресурсов microprofile .

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

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

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

az webapp log tail \
    --resource-group microprofile \
    --name payaramicro-hello-azure-1601009217863

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

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

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

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

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

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

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

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