Быстрое развертывание в AWS

Чтобы успешно использовать эту функциональность, выполните следующие шаги:

  • Установите плагин Docker для IntelliJ IDEA. Включите его в IDE после установки.

  • Установите Docker Engine.

  • Создайте учетную запись и убедитесь, что у вас есть доступ к AWS Console.

Ниже представлены инструкции по развертыванию:

  1. Нажмите Shift+Ctrl+A и введите Jmix Features в поле поиска. Дважды щелкните по появившемуся элементу. Откроется диалоговое окно Jmix Features.

  2. Установите флажок One-Click Cloud Deployment и нажмите OK.

  3. Разделы Docker и Deployment появятся в Окне инструментов Jmix.

  4. Настройте свою базу данных в разделе Хранилища данных:

    • Переключите проект на базу данных, отличную от HSQLDB, например, PostgreSQL.

    • Измените имя хоста localhost, например, на postgresdb. Позже имя хоста для базы данных будет использоваться для названия служб в файле docker-compose.

      aws deployment db
  5. Установите необходимые драйверы.

  6. Щелкните правой кнопкой мыши элемент Docker в Jmix Tool Window и выберите New → Generate Docker Compose File в контекстном меню.

  7. Откроется диалоговое окно Docker Compose Service:

    docker compose services dialog1
    • Name - название службы.

    • Image - имя образа Docker.

    • Depends on - зависимость между службами позволяет указать, должна ли служба ждать готовности других служб к работе перед запуском.

  8. Откройте вкладку Postgres:

    docker compose services dialog2
    • Image - имя образа Docker.

    • Database URL - имя хоста и базы данных.

    • Root user и Root password - учетные данные для подключения к БД.

    • Folder for saving data - укажите папку на хост-машине для сохранения данных.

      Нажмите кнопку OK.

  9. Файл docker-compose.yaml будет сгенерирован в разделе Docker окна инструментов Jmix Tool Window:

    docker compose file
  10. Нажмите на ссылку Deploy to AWS в правом верхнем углу. Откроется диалоговое окно Create AWS Deployment Configuration:

    aws deployment configuration
  11. Выберите действие Create new в выпадающем списке Server. Откроется диалоговое окно AWS Docker:

    aws docker
    • Name - имя экземпляра.

    • Region - название региона. Поле представляет собой выпадающий список с доступными регионами. Список можно просмотреть в таблице доступных регионов. Рекомендуется выбирать ближайший регион, чтобы уменьшить задержки при передаче данных.

    • Instance type - это тип экземпляра, который включает в себя различные комбинации ресурсов процессора, памяти, хранилища, сети и так далее. Поле представляет собой выпадающий список, который можно просмотреть в таблице доступных типов экземпляров. Значение по умолчанию – t2.micro.

    • Access key id - идентификатор пользователя для доступа к учетной записи AWS.

    • Secret access key - пароль пользователя для доступа к учетной записи AWS.

      Введите необходимые параметры и нажмите OK.

  12. Запустите созданную конфигурацию, нажав кнопку Run. Studio собирает и развертывает приложение.

  13. Вы увидите консольный вывод шагов процесса развертывания в окне инструментов Services снизу:

    aws services

    После успешного развертывания будут доступны логи контейнера.

  14. В процессе развертывания в правом нижнем углу будет отображаться уведомление о будущем адресе приложения:

    deployment notification

    Вы также можете открыть ссылку на приложение с помощью контекстного меню в разделе Deployment уже запущенного сервера:

    open deploying app

После успешного развертывания вы можете развернуть новый контейнер с приложением на существующем сервере без перестройки остальных контейнеров.

Для этого остановите сервер с помощью действия Stop в контекстном меню в разделе Deployment на определенном сервере и вызовите действие Deploy to AWS в файле docker-compose и дождитесь успешного завершения процесса развертывания.