Быстрое развертывание в облаке
Быстрое развертывание в облаке позволяет развернуть ваше приложение на AWS в несколько кликов мышью. Его можно использовать в демонстрационных целях или в качестве простого продуктового развертывания.
Ваше приложение будет работать с использованием Docker Compose на выделенном экземпляре EC2 в той же конфигурации, что и в вашей среде разработки. Поэтому по умолчанию приложение будет использовать локальную базу данных PostgreSQL и хранилище файлов в локальной файловой системе.
Необходимые условия
В настоящее время в качестве основного хранилища данных поддерживается только PostgreSQL. Studio настраивает его автоматически в сгенерированном файле docker-compose
. Если в вашем проекте используются дополнительные хранилища данных, вы можете настроить их в docker-compose
вручную.
Ваше приложение также должно использовать стандартный порт 8080. Это требование будет удалено в будущем релизе.
Прежде чем приступить к быстрому развертыванию, выполните следующее:
-
Создайте учетную запись AWS и убедитесь, что у вас есть доступ к консоли AWS.
-
Установите Docker и убедитесь, что Docker CLI доступен. Следующая команда терминала должна отображать информацию о клиенте Docker:
docker info
-
Установите плагин Docker в свою IDE и включите его.
Первоначальное развертывание
-
В окне инструментов Jmix выберите узел Deployment и Quick Cloud Deployment в его контекстном меню. Если все условия соблюдены, вы увидите следующий диалог:
-
Нажмите кнопку Choose, чтобы выбрать или создать файл
docker-compose
. Появится диалоговое окно Choose Docker-Compose. Если в проекте нет подходящего файла, поле в диалоге будет пустым: -
Нажмите кнопку «плюс» в поле. Появится диалоговое окно Docker Compose Services. Оно должно содержать две службы:
Jmix App
иPostgres
. СлужбаJmix App
должна иметьPostgres
в поле Depends on: -
Нажмите ОК в окне Docker Compose Services, чтобы сохранить сгенерированный файл
docker-compose.yaml
. Путь к файлу будет установлен в поле в диалоговом окне Choose Docker-Compose. Нажмите кнопку ОК, чтобы выбрать данный файл для быстрого развертывания. -
Нажмите кнопку Start Deployment в диалоговом окне Quick Cloud Deployment. Появится диалоговое окно Create AWS Deployment Configuration:
-
В выпадающем списке Server выберите Create new. Появится диалоговое окно AWS EC2 Instance:
-
Выберите желаемый регион и тип экземпляра. Предоставьте свои учетные данные AWS: вы можете ввести их непосредственно в диалоговом окне или настроить профиль AWS CLI на своем компьютере.
-
Нажмите ОК, чтобы сохранить настройки экземпляра. Затем нажмите Run в диалоговом окне Create AWS Deployment Configuration.
-
Откроется окно инструментов Services, и начнется развертывание. Процесс развертывания создает экземпляр EC2, подключается к нему по SSH и устанавливает Docker. Затем он создает образ приложения и запускает
docker-compose
на экземпляре EC2.Вы можете наблюдать за статусом развертывания в выводе узла AWS EC2 Instance → AWS EC2 via Docker-compose.
⓵ - Общий статус развертывания. Обратите внимание, что сообщение
'AWS EC2 via Docker-compose' has been deployed successfully
не означает, что приложение уже доступно по указанному URL. Загляните в журнал приложения ⓶, чтобы увидеть запуск приложения.⓶ - Журнал контейнера приложения.
⓷ - Журнал контейнера PostgreSQL.
-
Чтобы открыть веб-интерфейс приложения в браузере, кликните правой кнопкой мыши на узле Deployment → Servers → AWS → AWS EC2 Instance в окне инструментов Jmix и используйте действие контекстного меню Open Application in Browser.
Повторное развертывание
Чтобы пересобрать и повторно развернуть приложение на том же облачном сервере, запустите конфигурацию запуска AWS EC2 Instance Deployment
, созданную во время первоначального развертывания.
При повторном развертывании все данные, хранящиеся в базе данных и файловом хранилище, будут сохранены благодаря сопоставлениям томов, определенным в docker-compose.yaml
. Данные фактически хранятся вне контейнеров в файловой системе экземпляра EC2.
Чтобы обновить отображение журналов контейнеров в окне инструментов Services, откройте контекстное меню узла докера AWS EC2 Docker <instance-id> и выполните сначала команду Disconnect, а затем Connect.
Обслуживание
Вы можете подключиться к работающему экземпляру EC2 через SSH. Чтобы получить необходимую для этого команду терминала, выберите узел Deployment → Servers → AWS → AWS EC2 Instance в окне инструментов Jmix и нажмите Connect to Server в его контекстном меню. Скопируйте предоставленный текст команды и запустите его в своем терминале.
Чтобы остановить экземпляр EC2, или полностью удалить его, используйте соответствующие действия в контекстном меню узла Deployment → Servers → AWS → AWS EC2 Instance.
Команда Terminate полностью удаляет экземпляр сервера, поэтому все данные приложения будут потеряны. |