Ищите советы по управлению выпуском микросервисов, созданных с помощью Spring Boot.Микросервисы с управлением весной и выпуском
Большинство проектов, над которыми я работал, используют плагин release (maven) для создания тегов, а также для выпуска проектов maven (jar, war, rpm). Обычно это зависит от отношения родительского/дочернего maven для всех подпроектов (банок, войн) во время процесса выпуска (монолитный исходный код, все из которых живут в одном репозитории git). Мне интересно, как люди поддерживают разные загрузочные проекты (микросервисы) и выпускают выпуски.
Как я вижу, следующие возможные стратегии: проект
- One Spring загрузки (microservice Maven проекта) в репозиторий, так что выбросы управляются независимо друг от друга.
- Многомодульный проект maven с каждым модулем, являющимся микросервисом. Все подмодули (микросервисы) должны быть выпущены вместе. Родительский pom должен будет использовать родительский pom Boot.
- Положитесь на способность maven-release-плагина выпустить только определенные подмодули на основе выпуска. Это заставит каждый субмодуль maven иметь разные версии (потенциально).
Что вам подскажет команда? Мне нравится модель программирования Boot, но я надеюсь, что смогу использовать стратегию выпуска, совместимую с моделью загрузки, которая упрощает вещи.
Для меня только 1 является действительным пунктом. Если вы работаете, как в пункте 2, тогда нет смысла делать микросервисы, если вам нужно или хотите выпустить их все вместе. – dunni
Я согласен, однако я подозреваю, что это будет расти по мере добавления микросервисов, что затрудняет управление выпуском микросервисов. Лот тестирования интеграции и регрессионного тестирования. – Alberto
Конечно, так и будет. Это недостаток архитектуры микросервиса, и вы должны быть уверены, что сможете справиться с этим (т. Е. Вы должны иметь высокоавтоматизированную инфраструктуру). – dunni