Развертывание приложения Java в Веб-приложении Azure для контейнеров с помощью Azure Toolkit for IntelliJ
Контейнеры Docker широко используются при развертывании веб-приложений. При этом разработчики могут объединить все зависимости и файлы проекта в одном пакете, а затем развернуть его на сервере. Набор средств Azure Toolkit for IntelliJ упрощает этот процесс для разработчиков на языке Java, предоставляя функции для развертывания контейнеров в Microsoft Azure.
В этой статье показаны действия, необходимые для создания базового веб-приложения Hello World и его публикации в контейнере Linux в Azure с помощью набора средств Azure для IntelliJ.
Необходимые компоненты
- Поддерживаемая версия Java Development Kit (JDK). Дополнительные сведения о версиях JDK, доступных для разработки в Azure, см. в статье Поддержка Java в Azure и Azure Stack.
- IntelliJ IDEA, Ultimate или Community Edition.
- Набор средств Azure для IntelliJ. Дополнительные сведения см. в статье Установка набора средств Azure для IntelliJ. Вам также потребуется войти в учетную запись Azure для Набор средств Azure для IntelliJ. Дополнительные сведения см. в инструкциях по входу в Azure набор средств для IntelliJ.
- Клиент Docker.
Примечание.
Для работы с этим руководством необходимо настроить Docker, чтобы он имел возможность предоставить управляющую программу на порте 2375 без протокола TLS. Этот параметр можно настроить при установке Docker или с помощью меню параметров Docker.
Установка и вход
Следующие шаги описывают процесс входа в Azure в среде разработки IntelliJ.
Если вы еще не установили подключаемый модуль, см. статью Установка Azure Toolkit for IntelliJ.
Чтобы войти в учетную запись Azure, перейдите к левой боковой панели Azure Explorer, а затем щелкните значок входа в Azure. Кроме того, можно открыть раздел Средства, развернуть пункт Azure и щелкнуть значок входа в Azure.
В окне Azure Sign In (Вход в Azure) выберите Device Login (Имя пользователя устройства) и щелкните Sign in (Вход) (другие варианты входа).
В диалоговом окне Azure Device Login (Вход на устройство Azure) щелкните Copy&Open (Копировать и открыть).
В браузере вставьте код устройства (скопированный при нажатии Copy&Open (Копировать и открыть) на последнем шаге), а затем нажмите кнопку Далее.
Выберите нужную учетную запись Azure и выполните все необходимые для входа процедуры аутентификации.
Завершив вход, закройте браузер и вернитесь в интегрированную среду разработки IntelliJ. В диалоговом окне Select Subscriptions (Выбор подписок) выберите нужные подписки и щелкните Select (Выбрать).
Создание проекта веб-приложения
В меню File (Файл) разверните пункт New (Создать), а затем щелкните Проект (Project).
В диалоговом окне New Project (Новый проект) выберите Maven и убедитесь, что установлен флажок Create from Archetype (Создать из архетипа). В списке вариантов выберите maven-archetype-webapp, а затем щелкните Далее.
Раскройте список Artifact Coordinates (Координаты артефакта), чтобы просмотреть все поля ввода и указать приведенные ниже сведения о новом веб-приложении, а затем щелкните Далее.
- Имя: имя веб-приложения. Это значение автоматически помещается в поле ArtifactId для веб-приложения.
- GroupId: имя группы артефактов, как правило, домен компании. (например, com.microsoft.azure).
- Версия: мы будем хранить по умолчанию версию 1.0-SNAPSHOT.
Настройте любые параметры Maven или примите значения по умолчанию и щелкните Готово.
Перейдите к проекту на вкладке Project (Проект) слева и откройте файл src/main/webapp/index.jsp. Замените его содержимое следующим кодом и сохраните изменения:
<html> <body> <b><% out.println("Hello World!"); %></b> </body> </html>
Создание реестра контейнеров Azure для использования в качестве частного реестра Docker
Ниже рассмотрена процедура использования портала Azure для создания реестра контейнеров Azure.
Примечание.
Если вы хотите использовать Azure CLI, а не портал Azure, выполните процедуру, описанную в статье Создание частного реестра контейнеров Docker с помощью Azure CLI 2.0.
Перейдите на портал Azure и выполните вход.
После входа в свою учетную запись на портале Azure можно выполнить процедуру, описанную в статье Создание частного реестра контейнеров Docker с помощью портала Azure, которую здесь полезно представить еще раз.
Щелкните значок меню + Создать ресурс, а затем щелкните категорию Контейнеры и выберите Реестр контейнеров.
Когда отобразится страница Создать реестр контейнеров, укажите следующие сведения:
Подписка. Указывает подписку Azure, которую вы хотите использовать для нового реестра контейнеров.
Группа ресурсов. Указывает группу ресурсов для реестра контейнеров. Выберите один из следующих параметров.
- Создать: указывает, что нужно создать группу ресурсов.
- Использовать существующий: указывает, что вы выберете группу ресурсов, связанную с учетной записью Azure.
Имя реестра: указывает имя нового реестра контейнеров.
Расположение: указывает регион, в котором будет создан реестр контейнеров (например, "Западная часть США").
Номер SKU. Указывает уровень служб для реестра контейнеров. Для работы с этим учебником выберите Базовый. Дополнительные сведения см в статье Уровни службы Реестра контейнеров Azure.
Щелкните Проверить и создать и убедитесь, что сведения верны. Для завершения нажмите кнопку Создать.
Развертывание веб-приложения в контейнере Docker
Ниже приведены инструкции по настройке поддержки Docker в веб-приложении и развертыванию этого веб-приложения в контейнере Docker.
Перейдите к проекту на вкладке Project (Проект) слева и щелкните проект правой кнопкой мыши. Разверните элемент Azure и щелкните Add Docker Support (Добавить поддержку Docker).
Файл Docker будет автоматически создан с конфигурацией по умолчанию.
Добавив поддержку Docker, щелкните проект правой кнопкой мыши в обозревателе проектов, выберите Azure, а затем — Run on Web App for Containers (Выполнить в веб-приложении для контейнеров).
В диалоговом окне Run on Web App for Containers (Выполнение в веб-приложении для контейнеров) введите следующие сведения:
Name (Имя) — понятное имя, отображаемое в наборе средств Azure.
Реестр контейнеров: выберите реестр контейнеров из раскрывающегося меню, созданного в предыдущем разделе этой статьи. Поля Server URL (URL-адрес сервера), Username (Имя пользователя) и Password (Пароль) будут заполнены автоматически.
Image and tag (Образ и тег) — название образа контейнера. Обычно используется следующий синтаксис: registry.azurecr.io/appname:latest, где:
- registry — это реестр контейнеров из предыдущего раздела этой статьи;
- appname — это имя веб-приложения.
Use Existing Web App (Использовать имеющееся веб-приложение) или Create New Web App (Создать веб-приложение) — указывает, будете ли вы развертывать контейнер в имеющемся веб-приложении или создадите веб-приложение. С помощью указанного вами имени приложения будет создан URL-адрес для вашего веб-приложения, например: wingtiptoys.azurewebsites.net.
Resource Group (Группа ресурсов) — указывает, создадите ли вы группу ресурсов или будете использовать имеющуюся.
Служба приложений план. Указывает, будет ли использоваться существующий или создать новый план службы приложений.
Настроив перечисленные выше параметры, нажмите кнопку Run (Выполнить). После успешного развертывания веб-приложения его состояние будет отображаться в окне Run (Выполнение).
После публикации веб-приложения вы можете перейти к указанному для него ранее URL-адресу, например wingtiptoys.azurewebsites.net.
Необязательно. Изменение параметров публикации веб-приложения
После публикации веб-приложения параметры будут сохранены в качестве параметров по умолчанию. Приложение можно запустить в Azure, щелкнув значок зеленой стрелки на панели инструментов. Вы можете изменить параметры, щелкнув раскрывающееся меню для веб-приложения, а затем — Edit Configurations (Изменить конфигурации).
При отображении диалогового окна Run/Debug Configurations (Конфигурации выполнения и отладки) можно изменить любые параметры по умолчанию, а затем нажать кнопку ОК.
Следующие шаги
Дополнительные материалы по Docker доступны на официальном веб-сайте Docker.
Чтобы сообщить об ошибках или запросить новые функции, создайте проблемы в репозитории GitHub или задайте вопросы в Stack Overflow с тегом azure-java-tools.
Дополнительные сведения об использовании Java в Azure см. по следующим ссылкам: