Управление версиями библиотеки для выпусков микросервисов - PullRequest
0 голосов
/ 08 октября 2019

Я ищу руководство по управлению версиями зависимостей в проекте maven. Как в целом управляются сборки проектов микроуслуг с некоторыми общими библиотеками?

У меня есть родительский (тип pom) проект, который расширяется всеми проектами библиотек (тип jar) и микро-сервисами (fat jars).

Мы используем Git и есть только одна постоянная ветвь (транк), каждая другая ветвь эфемерна (функции, выпуски, исправления)

Обычно наша команда принимает на себя транк, который развернут и провереннашими комплектами дыма в Нижних средах.

Но когда мы хотим сделать релиз, мы создаем ветку релиза (либо из самого последнего коммита, либо из самого последнего коммита, где прошли все тесты) для всех библиотек и сервисных проектов на основе журнала изменений. После того, как ветки релиза созданы, проверены и развернуты в более высоких средах, мы создаем Git-теги в ветке релиза HEAD для любых исправлений ошибок в будущем.

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

Я понимаю, что управлять выпусками нелегко, и я не ищу волшебного решения дляавтоматизировать весь этот процесс одним нажатием кнопки. Мне любопытно узнать, как это делается в другом месте. 101

Буду очень признателен за любые указания или ссылки на это.

Большое спасибо за ваше время.

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