Поделиться через


Краткое руководство. Запуск первого приложения Java в приложениях контейнеров Azure

В этой статье показано, как развернуть пример приложения Spring PetClinic для запуска в приложениях контейнеров Azure. Вместо того чтобы вручную создать Dockerfile и непосредственно с помощью реестра контейнеров, можно развернуть приложение Java непосредственно из JAR-файла или архива веб-приложения (WAR).

В конце этого руководства вы развернете веб-приложение, которое можно управлять с помощью портал Azure.

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

Снимок экрана: приложение petclinic.

Необходимые компоненты

Требование 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-адрес в браузер. Приложение должно выглядеть на следующем снимок экрана.

Снимок экрана: приложение petclinic.

Следующие шаги