Быстрое развертывание в AWS
Чтобы успешно использовать эту функциональность, выполните следующие шаги:
-
Установите плагин Docker для IntelliJ IDEA. Включите его в IDE после установки.
-
Установите Docker Engine.
-
Создайте учетную запись и убедитесь, что у вас есть доступ к AWS Console.
Ниже представлены инструкции по развертыванию:
-
Нажмите Shift+Ctrl+A и введите
Jmix Features
в поле поиска. Дважды щелкните по появившемуся элементу. Откроется диалоговое окно Jmix Features. -
Установите флажок One-Click Cloud Deployment и нажмите OK.
-
Разделы Docker и Deployment появятся в Окне инструментов Jmix.
-
Настройте свою базу данных в разделе Хранилища данных:
-
Переключите проект на базу данных, отличную от HSQLDB, например, PostgreSQL.
-
Измените имя хоста
localhost
, например, наpostgresdb
. Позже имя хоста для базы данных будет использоваться для названия служб в файле docker-compose.
-
-
Установите необходимые драйверы.
-
Щелкните правой кнопкой мыши элемент Docker в Jmix Tool Window и выберите New → Generate Docker Compose File в контекстном меню.
-
Откроется диалоговое окно Docker Compose Service:
-
Name - название службы.
-
Image - имя образа Docker.
-
Depends on - зависимость между службами позволяет указать, должна ли служба ждать готовности других служб к работе перед запуском.
-
-
Откройте вкладку Postgres:
-
Image - имя образа Docker.
-
Database URL - имя хоста и базы данных.
-
Root user и Root password - учетные данные для подключения к БД.
-
Folder for saving data - укажите папку на хост-машине для сохранения данных.
Нажмите кнопку OK.
-
-
Файл
docker-compose.yaml
будет сгенерирован в разделе Docker окна инструментов Jmix Tool Window: -
Нажмите на ссылку Deploy to AWS в правом верхнем углу. Откроется диалоговое окно Create AWS Deployment Configuration:
-
Выберите действие Create new в выпадающем списке Server. Откроется диалоговое окно AWS Docker:
-
Name - имя экземпляра.
-
Region - название региона. Поле представляет собой выпадающий список с доступными регионами. Список можно просмотреть в таблице доступных регионов. Рекомендуется выбирать ближайший регион, чтобы уменьшить задержки при передаче данных.
-
Instance type - это тип экземпляра, который включает в себя различные комбинации ресурсов процессора, памяти, хранилища, сети и так далее. Поле представляет собой выпадающий список, который можно просмотреть в таблице доступных типов экземпляров. Значение по умолчанию –
t2.micro
. -
Access key id - идентификатор пользователя для доступа к учетной записи AWS.
-
Secret access key - пароль пользователя для доступа к учетной записи AWS.
Введите необходимые параметры и нажмите OK.
-
-
Запустите созданную конфигурацию, нажав кнопку Run. Studio собирает и развертывает приложение.
-
Вы увидите консольный вывод шагов процесса развертывания в окне инструментов Services снизу:
После успешного развертывания будут доступны логи контейнера.
-
В процессе развертывания в правом нижнем углу будет отображаться уведомление о будущем адресе приложения:
Вы также можете открыть ссылку на приложение с помощью контекстного меню в разделе Deployment уже запущенного сервера:
После успешного развертывания вы можете развернуть новый контейнер с приложением на существующем сервере без перестройки остальных контейнеров.
Для этого остановите сервер с помощью действия Stop в контекстном меню в разделе Deployment на определенном сервере и вызовите действие Deploy to AWS в файле docker-compose и дождитесь успешного завершения процесса развертывания.