Развертывание приложения Java в Веб-приложении Azure для контейнеров с помощью Azure Toolkit for IntelliJ

Контейнеры Docker широко используются при развертывании веб-приложений. При этом разработчики могут объединить все зависимости и файлы проекта в одном пакете, а затем развернуть его на сервере. Набор средств Azure Toolkit for IntelliJ упрощает этот процесс для разработчиков на языке Java, предоставляя функции для развертывания контейнеров в Microsoft Azure.

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

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

Примечание.

Для работы с этим руководством необходимо настроить Docker, чтобы он имел возможность предоставить управляющую программу на порте 2375 без протокола TLS. Этот параметр можно настроить при установке Docker или с помощью меню параметров Docker.

Docker settings menu

Установка и вход

Следующие шаги описывают процесс входа в Azure в среде разработки IntelliJ.

  1. Если вы еще не установили подключаемый модуль, см. статью Установка Azure Toolkit for IntelliJ.

  2. Чтобы войти в учетную запись Azure, перейдите к левой боковой панели Azure Explorer, а затем щелкните значок входа в Azure. Кроме того, можно открыть раздел Средства, развернуть пункт Azure и щелкнуть значок входа в Azure.

    Sign in to Azure on IntelliJ.

  3. В окне Azure Sign In (Вход в Azure) выберите Device Login (Имя пользователя устройства) и щелкните Sign in (Вход) (другие варианты входа).

  4. В диалоговом окне Azure Device Login (Вход на устройство Azure) щелкните Copy&Open (Копировать и открыть).

  5. В браузере вставьте код устройства (скопированный при нажатии Copy&Open (Копировать и открыть) на последнем шаге), а затем нажмите кнопку Далее.

  6. Выберите нужную учетную запись Azure и выполните все необходимые для входа процедуры аутентификации.

  7. Завершив вход, закройте браузер и вернитесь в интегрированную среду разработки IntelliJ. В диалоговом окне Select Subscriptions (Выбор подписок) выберите нужные подписки и щелкните Select (Выбрать).

Создание проекта веб-приложения

  1. В меню File (Файл) разверните пункт New (Создать), а затем щелкните Проект (Project).

  2. В диалоговом окне New Project (Новый проект) выберите Maven и убедитесь, что установлен флажок Create from Archetype (Создать из архетипа). В списке вариантов выберите maven-archetype-webapp, а затем щелкните Далее.

    Select the maven-archetype-webapp option.

  3. Раскройте список Artifact Coordinates (Координаты артефакта), чтобы просмотреть все поля ввода и указать приведенные ниже сведения о новом веб-приложении, а затем щелкните Далее.

    • Имя: имя веб-приложения. Это значение автоматически помещается в поле ArtifactId для веб-приложения.
    • GroupId: имя группы артефактов, как правило, домен компании. (например, com.microsoft.azure).
    • Версия: мы будем хранить по умолчанию версию 1.0-SNAPSHOT.
  4. Настройте любые параметры Maven или примите значения по умолчанию и щелкните Готово.

  5. Перейдите к проекту на вкладке Project (Проект) слева и откройте файл src/main/webapp/index.jsp. Замените его содержимое следующим кодом и сохраните изменения:

    <html>
     <body>
       <b><% out.println("Hello World!"); %></b>
     </body>
    </html>
    

    Open the index.jsp file.

Создание реестра контейнеров Azure для использования в качестве частного реестра Docker

Ниже рассмотрена процедура использования портала Azure для создания реестра контейнеров Azure.

Примечание.

Если вы хотите использовать Azure CLI, а не портал Azure, выполните процедуру, описанную в статье Создание частного реестра контейнеров Docker с помощью Azure CLI 2.0.

  1. Перейдите на портал Azure и выполните вход.

    После входа в свою учетную запись на портале Azure можно выполнить процедуру, описанную в статье Создание частного реестра контейнеров Docker с помощью портала Azure, которую здесь полезно представить еще раз.

  2. Щелкните значок меню + Создать ресурс, а затем щелкните категорию Контейнеры и выберите Реестр контейнеров.

  3. Когда отобразится страница Создать реестр контейнеров, укажите следующие сведения:

    • Подписка. Указывает подписку Azure, которую вы хотите использовать для нового реестра контейнеров.

    • Группа ресурсов. Указывает группу ресурсов для реестра контейнеров. Выберите один из следующих параметров.

      • Создать: указывает, что нужно создать группу ресурсов.
      • Использовать существующий: указывает, что вы выберете группу ресурсов, связанную с учетной записью Azure.
    • Имя реестра: указывает имя нового реестра контейнеров.

    • Расположение: указывает регион, в котором будет создан реестр контейнеров (например, "Западная часть США").

    • Номер SKU. Указывает уровень служб для реестра контейнеров. Для работы с этим учебником выберите Базовый. Дополнительные сведения см в статье Уровни службы Реестра контейнеров Azure.

  4. Щелкните Проверить и создать и убедитесь, что сведения верны. Для завершения нажмите кнопку Создать.

Развертывание веб-приложения в контейнере Docker

Ниже приведены инструкции по настройке поддержки Docker в веб-приложении и развертыванию этого веб-приложения в контейнере Docker.

  1. Перейдите к проекту на вкладке Project (Проект) слева и щелкните проект правой кнопкой мыши. Разверните элемент Azure и щелкните Add Docker Support (Добавить поддержку Docker).

    Файл Docker будет автоматически создан с конфигурацией по умолчанию.

    The docker support file.

  2. Добавив поддержку Docker, щелкните проект правой кнопкой мыши в обозревателе проектов, выберите Azure, а затем — Run on Web App for Containers (Выполнить в веб-приложении для контейнеров).

  3. В диалоговом окне 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 (Группа ресурсов) — указывает, создадите ли вы группу ресурсов или будете использовать имеющуюся.

    • Служба приложений план. Указывает, будет ли использоваться существующий или создать новый план службы приложений.

  4. Настроив перечисленные выше параметры, нажмите кнопку Run (Выполнить). После успешного развертывания веб-приложения его состояние будет отображаться в окне Run (Выполнение).

  5. После публикации веб-приложения вы можете перейти к указанному для него ранее URL-адресу, например wingtiptoys.azurewebsites.net.

    Browsing to your web app

Необязательно. Изменение параметров публикации веб-приложения

  1. После публикации веб-приложения параметры будут сохранены в качестве параметров по умолчанию. Приложение можно запустить в Azure, щелкнув значок зеленой стрелки на панели инструментов. Вы можете изменить параметры, щелкнув раскрывающееся меню для веб-приложения, а затем — Edit Configurations (Изменить конфигурации).

    Edit configuration menu.

  2. При отображении диалогового окна Run/Debug Configurations (Конфигурации выполнения и отладки) можно изменить любые параметры по умолчанию, а затем нажать кнопку ОК.

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

Дополнительные материалы по Docker доступны на официальном веб-сайте Docker.

Чтобы сообщить об ошибках или запросить новые функции, создайте проблемы в репозитории GitHub или задайте вопросы в Stack Overflow с тегом azure-java-tools.

Дополнительные сведения об использовании Java в Azure см. по следующим ссылкам: