Развертывание веб-приложения в службе приложений 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>aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e</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.