Развертывание веб-приложения Helidon в Службе приложений Azure с помощью Maven
В этом кратком руководстве показано, как использовать подключаемый модуль Maven для веб-приложений Службы приложений Azure, чтобы развернуть приложение Helidon в Службе приложений Azure в Linux. Развертывание Java SE является предпочтительным по сравнению с Tomcat и файлами WAR, если вам нужно объединить зависимости, среду выполнения и файлы конфигурации приложения в единый развертываемый артефакт.
Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
Необходимые компоненты
- Azure CLI на локальном компьютере или в Azure Cloud Shell.
- Поддерживаемая версия Java Development Kit (JDK). Дополнительные сведения о версиях JDK, доступных для разработки в Azure, см. в статье Поддержка Java в Azure и Azure Stack.
- Apache Maven версии 3.
Вход в Azure CLI
Azure CLI — самый простой и наиболее удобный способ развернуть приложение Helidon с помощью подключаемого модуля Maven.
Войдите в учетную запись Azure с помощью интерфейса командной строки Azure.
az login
Для завершения процесса входа следуйте инструкциям.
Создание примера приложения в MicroProfile Starter
В рамках этого раздела вы создадите приложение Helidon и протестируете его локально.
Откройте веб-браузер и перейдите на сайт MicroProfile Starter.
Введите или выберите поле, как показано ниже.
Поле значение groupId com.microsoft.azure.samples.helidon artifactId helidon-hello-azure MicroProfile Version (Версия MicroProfile) MP 3.2 Java SE Version (Версия Java SE) Java 11 MicroProfile Runtime (Среда выполнения MicroProfile) Helidon Examples for Specifications (Примеры для требований) Метрики, OpenAPI Выберите "Скачать", чтобы скачать проект.
Распакуйте файл архива, например:
unzip helidon-hello-azure.zip
Вы также можете создать проект с помощью следующей команды:
mvn -U archetype:generate -DinteractiveMode=false \ -DarchetypeGroupId=io.helidon.archetypes \ -DarchetypeArtifactId=helidon-quickstart-se \ -DarchetypeVersion=2.0.0 \ -DgroupId=com.microsoft.azure.samples.helidon \ -DartifactId=helidon-hello-azure \ -Dpackage=com.microsoft.azure.samples.helidon
Перейдите в каталог готового проекта, например:
cd helidon-hello-azure/
Выполните сборку файла JAR с помощью Maven, например:
mvn clean package
При создании веб-приложения запустите веб-приложение с помощью Maven; например:
java -jar target/helidon-hello-azure.jar
Проверьте веб-приложение, перейдя к нему локально с помощью веб-браузера. Например, если имеется Curl, можно использовать следующую команду:
curl http://localhost:8080/greet
Появится следующее сообщение: Hello World
Настройка подключаемого модуля Maven для Службы приложений Azure
В рамках этого раздела вы настроите файл pom.xml проекта Helidon, чтобы развернуть приложение в Службе приложений Azure на платформе Linux с помощью Maven.
Откройте файл pom.xml в текстовом редакторе.
В разделе
<build>
файла pom.xml добавьте следующую запись<plugin>
внутри тега<plugins>
.<build> <finalName>helidon-hello-azure</finalName> <plugins> <plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>1.10.0</version> </plugin> </plugins> </build>
Затем можно настроить развертывание, выполните следующую команду Maven:
mvn azure-webapp:config
Выберите следующие параметры, когда появится соответствующий запрос:
Поле ввода Введите или выберите значение Определите значение для OS(Default: Linux): 1. Linux Определите значение javaVersion(Default: Java 8): 1. Java 11 Подтверждение (Y/N) г Выходные данные этой команды выглядят примерно так:
[INFO] Scanning for projects... [INFO] [INFO] ------< com.microsoft.azure.samples.helidon:helidon-hello-azure >------- [INFO] Building myproject 1.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- azure-webapp-maven-plugin:1.10.0:config (default-cli) @ helidon-hello-azure --- Define value for OS(Default: Linux): 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: 1 Please confirm webapp properties AppName : helidon-hello-azure-1600998900939 ResourceGroup : helidon-hello-azure-1600998900939-rg Region : westeurope PricingTier : PremiumV2_P1v2 OS : Linux RuntimeStack : JAVA 11-java11 Deploy to slot : false Confirm (Y/N)? : y [INFO] Saving configuration to pom. [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 02:44 min [INFO] Finished at: 2020-09-25T10:57:35+09:00 [INFO] ------------------------------------------------------------------------
Добавьте раздел в
<appSettings>
<configuration>
разделPORT
,WEBSITES_PORT
а такжеWEBSITES_CONTAINER_START_TIME_LIMIT
.<include>/libs/*.jar</include>
Добавьте ресурсы в развертывание.<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>helidon-hello-azure-1591663020899</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> <include>/libs/*.jar</include> </includes> </resource> </resources> </deployment> </configuration>
Развертывание приложения в Azure
После настройки всех параметров, описанных в предыдущих разделах этой статьи, вы можете развернуть веб-приложение в Azure. Для этого выполните следующие действия.
В командной строке или в окне терминала, которые вы использовали ранее, перестройте JAR-файл, используя Maven, если вы внесли изменения в файл pom.xml; например:
mvn clean package
Разверните веб-приложение в Azure с помощью Maven; например:
mvn azure-webapp:deploy
Maven развернет веб-приложение в Azure. Если веб-приложение или план веб-приложения еще не существует, он будет создан для вас. Отображение веб-приложения по URL-адресу, указанному в выходных данных, может занять несколько минут. В веб-браузере перейдите по URL-адресу. Появится сообщение: Hello World
Когда веб-сайт развернут, его можно управлять с помощью портал Azure.
Веб-приложение будет указано в Служба приложений.
Вы можете получить доступ к веб-приложению, выбрав "Обзор " на странице обзора веб-приложения.
Убедитесь, что развертывание прошло успешно, воспользовавшись описанной выше командой cURL (/data/hello
). При этом вместо localhost
введите URL-адрес веб-приложения, указанный на портале. Появится следующее сообщение: Hello World
Подтвердите поток журнала из запущенного Служба приложений
Вы можете просмотреть журналы (или выполнить вывод последнего фрагмента) из запущенной Службы приложений. Все вызовы console.log
в коде сайта отображаются в окне терминала.
az webapp log tail \
--resource-group microprofile \
--name helidon-hello-azure-1600998900939
Очистка ресурсов
Если ресурсы Azure больше не нужны, их можно удалить. Для этого необходимо удалить группу ресурсов.
- На портале Azure в меню слева выберите "Группа ресурсов".
- Введите microprofile в поле Фильтровать по имени. Группа ресурсов, созданная при работе с этим учебником, должна иметь этот префикс.
- Выберите группу ресурсов, созданную при работе с этим руководством.
- В меню сверху выберите "Удалить группу ресурсов".
Следующие шаги
Дополнительные сведения о MicroProfile и Azure см. в центре документации об использовании MicroProfile в Azure.
Дополнительные ресурсы
Дополнительные сведения о различных технологиях, рассматриваемых в данной статье, см. в следующих статьях.