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

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

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

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

Вход в Azure CLI

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

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

az login

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

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

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

Создание базового проекта Java SE 8

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

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

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

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

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

    unzip kumuluzEE-hello-azure.zip
    

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

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

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

    mvn clean package
    
  3. Запустите приложение с помощью следующей команды.

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

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

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

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

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

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

    <build>
      <finalName>kumuluzEE-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): 2. Java 8
    Подтверждение (Y/N) г

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

    [INFO] Scanning for projects...
    [INFO]
    [INFO] ----< com.microsoft.azure.samples.kumuluzee:kumuluzEE-hello-azure >-----
    [INFO] Building kumuluzEE-hello-azure 1.0-SNAPSHOT
    [INFO] --------------------------------[ jar ]---------------------------------
    [INFO]
    [INFO] --- azure-webapp-maven-plugin:1.10.0:config (default-cli) @ kumuluzEE-hello-azure ---
    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: 2
    Please confirm webapp properties
    AppName : kumuluzEE-hello-azure-1601006602397
    ResourceGroup : kumuluzEE-hello-azure-1601006602397-rg
    Region : westeurope
    PricingTier : PremiumV2_P1v2
    OS : Linux
    RuntimeStack : JAVA 8-jre8
    Deploy to slot : false
    Confirm (Y/N)? : y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  44.223 s
    [INFO] Finished at: 2020-09-25T13:04:02+09:00
    [INFO] ------------------------------------------------------------------------
    
  4. Добавьте раздел в <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.10.0</version>
      <configuration>
        <schemaVersion>V2</schemaVersion>
        <resourceGroup>microprofile</resourceGroup>
        <appName>kumuluzEE-hello-azure-1601006602397</appName>
        <pricingTier>P1v2</pricingTier>
        <region>japaneast</region>
        <runtime>
          <os>linux</os>
          <javaVersion>jre8</javaVersion>
          <webContainer>jre8</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://kumuluzee-hello-azure-1601006602397.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:23 min
[INFO] Finished at: 2020-09-25T13:13:14+09:00
[INFO] ------------------------------------------------------------------------

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

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

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

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

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

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

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

az webapp log tail \
    --resource-group microprofile \
    --name kumuluzEE-hello-azure-1601006602397

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

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

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

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

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

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

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

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