Краткое руководство. Создание приложения Java в Службе приложений Azure

Служба приложений Azure — это служба веб-размещения с самостоятельной установкой исправлений и высоким уровнем масштабируемости. В этом кратком руководстве показано, как использовать Azure CLI с подключаемым модулем веб-приложения Azure для Maven, чтобы развернуть JAR- или WAR-файл. Используйте вкладки для переключения между инструкциями для Java SE и Tomcat.

Примечание

То же самое можно выполнить с помощью популярных интегрированных сред разработки, например IntelliJ и Eclipse. См. подробнее об Azure Toolkit for IntelliJ и Azure Toolkit for Eclipse.

Приложение, работающее в Службе приложений Azure

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

Использование Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.

Начало работы с Azure Cloud Shell

Параметр Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока с кодом. При нажатии кнопки Попробовать код не копируется в Cloud Shell автоматически. Открытие Azure Cloud Shell с помощью кнопки "Попробовать"
Перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell, чтобы открыть Cloud Shell в браузере. Запуск Cloud Shell в новом окне
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. Кнопка "Cloud Shell" на портале Azure

Чтобы выполнить код из этой статьи в Azure Cloud Shell, выполните следующие действия:

  1. Запустите Cloud Shell.

  2. В блоке кода нажмите кнопку Копировать, чтобы скопировать код.

  3. Вставьте код в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.

  4. Нажмите клавишу ВВОД, чтобы выполнить код.

Создание приложения Java

Клонируйте пример проекта Spring Boot Getting Started.

git clone https://github.com/spring-guides/gs-spring-boot

Перейдите в каталог готового проекта.

cd gs-spring-boot/complete

Настройка подключаемого модуля Maven

В процессе развертывания в Службу приложений Azure автоматически используются учетные данные Azure из Azure CLI. Если интерфейс Azure CLI не установлен локально, подключаемый модуль Maven будет выполнять проверку подлинности с помощью OAuth или входа на устройство. Дополнительные сведения см. в статье о проверке подлинности с помощью подключаемых модулей Maven.

Воспользуйтесь приведенной ниже командой Maven для настройки развертывания. Эта команда поможет вам настроить операционную систему Службы приложений, версию Java и версию Tomcat.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.1.0:config
  1. При появлении запроса для параметра Подписка укажите правильную подписку (Subscription), введя соответствующий номер, указанный в начале строки.

  2. При появлении запроса для параметра Веб-приложение выберите параметр по умолчанию <create>, нажав клавишу ввода.

  3. При появлении запроса для параметра Операционная система выберите Windows, введя 2.

  4. При появлении запроса с параметром javaVersion выберите Java 8, введя 1.

  5. При появлении запроса для параметра Ценовая категория выберите P1v2, введя 7.

  6. Наконец, нажмите клавишу ВВОД в последнем запросе для подтверждения выбора.

    Сводные выходные данные будут выглядеть примерно так, как показано в следующем фрагменте кода.

    Please confirm webapp properties
    Subscription Id : ********-****-****-****-************
    AppName : spring-boot-1599007390755
    ResourceGroup : spring-boot-1599007390755-rg
    Region : westeurope
    PricingTier : Basic_B2
    OS : Windows
    Java : 1.8
    WebContainer : java 8
    Deploy to slot : false
    Confirm (Y/N)? : Y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 41.118 s
    [INFO] Finished at: 2020-09-01T17:43:45-07:00
    [INFO] ------------------------------------------------------------------------
    
  1. При появлении запроса для параметра Подписка укажите правильную подписку (Subscription), введя соответствующий номер, указанный в начале строки.

  2. При появлении запроса для параметра Веб-приложение выберите параметр по умолчанию <create>, нажав клавишу ввода.

  3. При появлении запроса для параметра Операционная система выберите Linux, нажав клавишу ВВОД.

  4. При появлении запроса с параметром javaVersion выберите Java 8, введя 1.

  5. При появлении запроса для параметра Ценовая категория выберите P1v2, введя 6.

  6. Наконец, нажмите клавишу ВВОД в последнем запросе для подтверждения выбора.

    Please confirm webapp properties
    Subscription Id : ********-****-****-****-************
    AppName : spring-boot-1599007116351
    ResourceGroup : spring-boot-1599007116351-rg
    Region : westeurope
    PricingTier : Basic_B2
    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: 20.925 s
    [INFO] Finished at: 2020-09-01T17:38:51-07:00
    [INFO] ------------------------------------------------------------------------
    

При необходимости вы можете изменить другие параметры Службы приложений непосредственно в pom.xml. Некоторые из наиболее распространенных перечислены ниже.

Свойство Обязательно Описание Версия
<schemaVersion> false Указывает версию схемы конфигурации. Поддерживаемые значения: v1 и v2. 1.5.2
<subscriptionId> false Укажите идентификатор подписки. Версия 0.1.0 и выше
<resourceGroup> Да Группа ресурсов Azure для вашего веб-приложения. Версия 0.1.0 и выше
<appName> Да Название вашего веб-приложения. Версия 0.1.0 и выше
<region> Да Указывает регион, в котором будет размещено ваше веб-приложение (значение по умолчанию: westeurope). Определить допустимые регионы можно в разделе Поддерживаемые регионы. Версия 0.1.0 и выше
<pricingTier> Да Ценовая категория веб-приложения. Значение по умолчанию — P1V2 для производственной рабочей нагрузки. Вариант B2 является рекомендуемым минимумом для разработки и тестирования в среде Java. Дополнительные сведения Версия 0.1.0 и выше
<runtime> Да Конфигурация среды выполнения. Дополнительные сведения см. здесь. Версия 0.1.0 и выше
<deployment> Да Конфигурация развертывания. Дополнительные сведения см. здесь. Версия 0.1.0 и выше

Запишите значения <appName> и <resourceGroup> (helloworld-1590394316693 и helloworld-1590394316693-rg соответственно в демонстрации), так как они понадобятся позже.

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

После того как все настройки будут готовы в файле POM, вы можете развернуть приложение Java в Azure с помощью одной команды.

mvn package azure-webapp:deploy

Примечание

Для JBoss EAP выполните команду mvn package azure-webapp:deploy -DskipTests, чтобы отключить тестирование, так как для этого требуется локальная установка Wildfly.

После завершения развертывания ваше приложение будет готово к работе по адресу http://<appName>.azurewebsites.net/ (http://helloworld-1590394316693.azurewebsites.net в демонстрации). Откройте URL-адрес в своем локальном веб-браузере. Вы должны увидеть следующее:

Приложение, работающее в Службе приложений Azure

Поздравляем! Вы развернули свое первое приложение Java в службе приложений.

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

На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если эти ресурсы вам не понадобятся в будущем, вы можете удалить группу ресурсов из портала, или выполнив приведенную ниже команду в Cloud Shell.

az group delete --name <your resource group name; for example: helloworld-1558400876966-rg> --yes

Ее выполнение может занять до минуты.

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