2016-10-08 3 views
0

Ищите советы по управлению выпуском микросервисов, созданных с помощью Spring Boot.Микросервисы с управлением весной и выпуском

Большинство проектов, над которыми я работал, используют плагин release (maven) для создания тегов, а также для выпуска проектов maven (jar, war, rpm). Обычно это зависит от отношения родительского/дочернего maven для всех подпроектов (банок, войн) во время процесса выпуска (монолитный исходный код, все из которых живут в одном репозитории git). Мне интересно, как люди поддерживают разные загрузочные проекты (микросервисы) и выпускают выпуски.

Как я вижу, следующие возможные стратегии: проект

  1. One Spring загрузки (microservice Maven проекта) в репозиторий, так что выбросы управляются независимо друг от друга.
  2. Многомодульный проект maven с каждым модулем, являющимся микросервисом. Все подмодули (микросервисы) должны быть выпущены вместе. Родительский pom должен будет использовать родительский pom Boot.
  3. Положитесь на способность maven-release-плагина выпустить только определенные подмодули на основе выпуска. Это заставит каждый субмодуль maven иметь разные версии (потенциально).

Что вам подскажет команда? Мне нравится модель программирования Boot, но я надеюсь, что смогу использовать стратегию выпуска, совместимую с моделью загрузки, которая упрощает вещи.

+0

Для меня только 1 является действительным пунктом. Если вы работаете, как в пункте 2, тогда нет смысла делать микросервисы, если вам нужно или хотите выпустить их все вместе. – dunni

+0

Я согласен, однако я подозреваю, что это будет расти по мере добавления микросервисов, что затрудняет управление выпуском микросервисов. Лот тестирования интеграции и регрессионного тестирования. – Alberto

+0

Конечно, так и будет. Это недостаток архитектуры микросервиса, и вы должны быть уверены, что сможете справиться с этим (т. Е. Вы должны иметь высокоавтоматизированную инфраструктуру). – dunni

ответ

0

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

Смежные вопросы