Постоянное развертывание функций в приложении Spring Boot, размещенном на AWS - PullRequest
0 голосов
/ 27 ноября 2018

Я ищу советы / идеи о том, как постоянно развертывать новые функции в веб-приложении Spring Boot, размещенном на экземпляре AWS EC2.Мой текущий рабочий процесс:

  1. bootRepackage мое приложение для создания файла войны.
  2. Загрузка этого файла в AWS.
  3. Добавление новой функции в мое приложение.
  4. bootRepackage снова.
  5. Удалите текущую войну из AWS и загрузите новую.

Это явно не хороший рабочий процесс, так как приложениедолжен быть перезапущен, что может привести к 1) простоям и 2) потерям записей в базе данных (если я использую базу данных H2 по умолчанию Spring - нет, я использую автономный сервер SQL, но просто хочуэтот вопрос), поэтому я хочу упорядочить его.

Есть ли способ добавить новую функцию в текущий экземпляр службы в AWS?Можно ли перекомпилировать код "one the fly", чтобы предотвратить необходимость перезапуска приложения?

Есть ли способ создать лучшую настройку, которая позволила бы мне просто объединить новую ветвь для мастеринга локально и отправить ее с тем же экземпляром, который все еще находится в prod, за исключением этой новой функции?

Заранее спасибо!

Обновление, это действительно правильный ответ?

1 Ответ

0 голосов
/ 27 ноября 2018

Если вы используете один экземпляр aws и развертываете приложение в экземпляре EC2, присвойте Elastic IP для экземпляра AWS EC2.

Elastic IP-адрес является статическимIPv4-адрес предназначен для динамических облачных вычислений.Эластичный IP-адрес связан с вашей учетной записью AWS.Используя Elastic IP-адрес, вы можете замаскировать сбой экземпляра или программного обеспечения, быстро переназначив адрес в другой экземпляр вашей учетной записи.

  1. Развертывание новой версии приложения в другом AWSЭкземпляр EC2
  2. Когда приложение готово, переназначьте Elastic IP-адрес из существующего экземпляра EC2 в новый экземпляр EC2

Эластичные IP-адреса являются самым простым способом реализации blue-зеленый переключатель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...