Краткое руководство. Запуск первого приложения Java в приложениях контейнеров Azure
В этой статье показано, как развернуть пример приложения Spring PetClinic для запуска в приложениях контейнеров Azure. Вместо того чтобы вручную создать Dockerfile и непосредственно с помощью реестра контейнеров, можно развернуть приложение Java непосредственно из JAR-файла или архива веб-приложения (WAR).
В конце этого руководства вы развернете веб-приложение, которое можно управлять с помощью портал Azure.
На следующем рисунке показано, как приложение будет выглядеть после развертывания в Azure.
Необходимые компоненты
Требование | Instructions |
---|---|
Учетная запись Azure | Если у вас нет учетной записи, создайте бесплатную учетную запись. Чтобы продолжить, вам потребуется разрешение участника или владельца подписки Azure. Дополнительные сведения см. в статье "Назначение ролей Azure" с помощью портал Azure. |
Учетная запись GitHub | Получите его бесплатно. |
git | Установка Git |
Azure CLI | Установите интерфейс командной строки Azure. |
Расширение CLI для приложений контейнеров | Используйте версию 0.3.47 или более позднюю. az extension add --name containerapp --upgrade --allow-preview Используйте команду, чтобы установить последнюю версию. |
Java | Установите пакет средств разработки Java. Используйте версию 17 или более позднюю. |
Apache Maven | Скачайте и установите Apache Maven. |
Подготовка проекта
Клонируйте пример приложения Spring PetClinic на компьютер.
git clone https://github.com/spring-projects/spring-petclinic.git
git clone https://github.com/spring-petclinic/spring-framework-petclinic.git
Сборка проекта
Перейдите в папку spring-petclinic .
cd spring-petclinic
Очистите область сборки Maven, скомпилируйте код проекта и создайте JAR-файл, все время пропуская все тесты.
mvn clean verify
После выполнения команды сборки файл с именем petclinic.jar создается в папке /target .
Примечание.
При необходимости можно указать версию Tomcat в переменных среды сборки Java.
Перейдите в папку spring-framework-petclinic .
cd spring-framework-petclinic
Очистите область сборки Maven, скомпилируйте код проекта и создайте WAR-файл, все время пропуская все тесты.
mvn clean verify
После выполнения команды сборки файл с именем petclinic.war создается в папке /target .
Развертывание проекта
Разверните пакет JAR в приложениях контейнеров Azure.
Примечание.
При необходимости можно указать версию JDK в переменных среды сборки Java.
Теперь вы можете развернуть WAR-файл с помощью az containerapp up
команды CLI.
az containerapp up \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--subscription <SUBSCRIPTION_ID>\
--location <LOCATION> \
--environment <ENVIRONMENT_NAME> \
--artifact <JAR_FILE_PATH_AND_NAME> \
--ingress external \
--target-port 8080 \
--query properties.configuration.ingress.fqdn
Примечание.
Версия JDK по умолчанию — 17. Если необходимо изменить версию JDK для совместимости с приложением, можно использовать --build-env-vars BP_JVM_VERSION=<YOUR_JDK_VERSION>
аргумент для настройки номера версии.
В переменных среды сборки Java можно найти более применимые переменные среды сборки.
Разверните пакет WAR в приложениях контейнеров Azure.
Теперь вы можете развернуть WAR-файл с помощью az containerapp up
команды CLI.
az containerapp up \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--subscription <SUBSCRIPTION>\
--location <LOCATION> \
--environment <ENVIRONMENT_NAME> \
--artifact <WAR_FILE_PATH_AND_NAME> \
--build-env-vars BP_TOMCAT_VERSION=10.* \
--ingress external \
--target-port 8080 \
--query properties.configuration.ingress.fqdn
Примечание.
Версия Tomcat по умолчанию — 9. Если необходимо изменить версию Tomcat для совместимости с приложением, можно использовать --build-env-vars BP_TOMCAT_VERSION=<YOUR_TOMCAT_VERSION>
аргумент для настройки номера версии.
В этом примере для версии Tomcat задано 10
значение (включая все дополнительные версии), задав BP_TOMCAT_VERSION=10.*
переменную среды.
В переменных среды сборки Java можно найти более применимые переменные среды сборки.
Проверка состояния приложения
В этом примере containerapp up
команда включает --query properties.configuration.ingress.fqdn
аргумент, который возвращает полное доменное имя (FQDN), также известное как URL-адрес приложения.
Просмотрите приложение, вставив этот URL-адрес в браузер. Приложение должно выглядеть на следующем снимок экрана.