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

Завершено

У azure-webapp-maven-plugin есть две цели для разработчиков Java: первая заключается в том, чтобы упростить управление и настройку для подключаемого модуля службы приложений Azure, а вторая — в том, чтобы упростить развертывание проектов Maven в службе приложений Azure. В предыдущем упражнении вы создали пример веб-приложения Java "Hello World" и проверили его локально. Добавление подключаемого модуля Maven для службы приложений Azure в проект позволяет развернуть приложение в службе приложений Azure.

В этом уроке вы узнаете, как разместить свои приложения в службе приложение Azure, а затем вы узнаете, как добавить и настроить azure-webapp-maven-plugin проект Maven.

Общие сведения о Службе приложений Azure

Служба приложений Azure позволяет размещать в Azure веб-сайты, веб-приложения, интерфейсы API и прочий код приложений компании. Код проекта выполняется в облаке; вам не нужно подготавливать или настраивать для него инфраструктуру. Запуск веб-приложения в службе приложений Azure обеспечивает все преимущества работы в Azure: ваше приложение доступно глобально, масштабируется автоматически, имеет встроенную безопасность и соответствие требованиям, и вы платите только за используемые ресурсы.

служба приложение Azure поддерживает несколько языков программирования, что позволяет разработчикам продолжать писать свои приложения с помощью языков, с которыми они наиболее удобны. Java является гражданином первого класса, а также другими языками, такими как .NET Core, Python, Node.js и т. д. Вы можете размещать веб-приложения, создаваемые в Linux, Windows или в контейнере Docker. Перед развертыванием веб-приложения в Azure вы создадите план службы приложений в Azure, который задает операционную систему и ценовую категорию, определяющую объем ресурсов вычислений, подготавливаемых для приложения.

Рабочие процессы c использованием Maven

В Maven встроены три жизненных цикла создания проектов: default, cleanи site, где жизненный цикл default включает следующие этапы.

Этап Description
compile Компиляция кода
package Упаковка кода в JAR- или WAR-файл
install Установка пакета в локальный репозиторий
deploy Копирование готового пакета в удаленный репозиторий

Однако при использовании подключаемого модуля Maven для службы приложение Azure вы не будете использовать этап развертывания, включенный в жизненный цикл Mavendefault. Вместо этого вы развернете приложение в Azure с помощью команды mvn azure-webapp:deploy.

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

Чтобы добавить подключаемый модуль Maven для службы приложение Azure в веб-приложение, вы добавите XML-код для azure-webapp-maven-plugin файла проектаpom.xml, как показано ниже:

<plugin>
  <groupId>com.microsoft.azure</groupId>
  <artifactId>azure-webapp-maven-plugin</artifactId>
  <version>2.13.0</version>
</plugin>

Однако подключаемый модуль предоставляет удобный и интерактивный способ добавления конфигураций в файл POM:

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:config

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

Примечание.

Сведения о последней версии подключаемого модуля Maven см. в документации по подключаемому модулю Maven или Центральном репозитории Maven.

Варианты конфигурации

В предыдущем разделе этого модуля продемонстрировано использование подключаемого модуля Maven для службы приложений Azure в интерактивном режиме для настройки веб-приложения. Однако запускать конфигурацию в интерактивном режиме не требуется. При желании можно добавить XML-код подключаемого модуля в файл pom.xml проекта вручную.

В следующем фрагменте с аннотированным фрагментом pom.xml из файла показаны некоторые необходимые параметры:

<plugin> 
  <groupId>com.microsoft.azure</groupId>  
  <artifactId>azure-webapp-maven-plugin</artifactId>  
  <version>2.13.0</version>  
  <configuration> 
    <schemaVersion>v2</schemaVersion>  
    <subscriptionId>11111111-1111-1111-1111-111111111111</subscriptionId>  
    <resourceGroup>learn-9c627899-58ae-4ef5-9630-3336ec7bce0c</resourceGroup>  
    <appName>MyWebApp-1610102860270</appName>  
    <pricingTier>S1</pricingTier>  
    <region>westus</region>  
    <runtime> 
      <os>Linux</os>  
      <javaVersion>Java 17</javaVersion>  
      <webContainer>Tomcat 10.0</webContainer> 
    </runtime>  
    <deployment> 
      <resources> 
        <resource> 
          <directory>${project.basedir}/target</directory>  
          <includes> 
            <include>*.war</include> 
          </includes> 
        </resource> 
      </resources> 
    </deployment> 
  </configuration> 
</plugin> 

Некоторые из соответствующих параметров конфигурации приведены в следующей таблице. Полный список параметров см. в документации по подключаемому модулю Maven для службы приложений Azure.

Тег Параметры
<javaVersion> Linux поддерживает версии 8, 11 и 17
Windows поддерживает версии 8, 11 и 17
<webContainer> Linux поддерживает Tomcat, JBoss EAP 7.2 и Java SE
Windows поддерживает Tomcat и Java SE
<resource> Указывает расположение WAR-или JAR-файла в проекте

Параметры развертывания

Если вы уже создали план службы приложений, параметры этого плана можно указать в файле pom.xml. При развертывании веб-приложения в Azure Maven использует эти параметры для развертывания нового приложения в существующем плане Служба приложений.

<!-- Deploy Web App to the existing App Service Plan -->
<appServicePlanResourceGroup>${PLAN_RESOURCEGROUP_NAME}</appServicePlanResourceGroup>
<appServicePlanName>${PLAN_NAME}</appServicePlanName>

Другой вариант — разрешить azure-webapp-maven-plugin создать план службы приложений при интерактивной настройке установки подключаемого модуля. Этот вариант используется по умолчанию для подключаемого модуля, если вы не укажете существующий план службы приложений в файле pom.xml.

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

mvn package azure-webapp:deploy

В следующем упражнении вы развернете веб-приложение в службе приложений Azure.