Я ищу советы / идеи о том, как постоянно развертывать новые функции в веб-приложении Spring Boot, размещенном на экземпляре AWS EC2.Мой текущий рабочий процесс:
bootRepackage
мое приложение для создания файла войны. - Загрузка этого файла в AWS.
- Добавление новой функции в мое приложение.
bootRepackage
снова. - Удалите текущую войну из AWS и загрузите новую.
Это явно не хороший рабочий процесс, так как приложениедолжен быть перезапущен, что может привести к 1) простоям и 2) потерям записей в базе данных (если я использую базу данных H2 по умолчанию Spring - нет, я использую автономный сервер SQL, но просто хочуэтот вопрос), поэтому я хочу упорядочить его.
Есть ли способ добавить новую функцию в текущий экземпляр службы в AWS?Можно ли перекомпилировать код "one the fly", чтобы предотвратить необходимость перезапуска приложения?
Есть ли способ создать лучшую настройку, которая позволила бы мне просто объединить новую ветвь для мастеринга локально и отправить ее с тем же экземпляром, который все еще находится в prod, за исключением этой новой функции?
Заранее спасибо!
Обновление, это действительно правильный ответ?