Делать одиночный релиз с микросервисами - это анти-паттерн. Поэтому нет идеального ответа на ваш вопрос.
Если вы хотите избавиться от одного централизованного файла Version.json
, я бы посоветовал хранить микросервисную версию отдельно в каждом проекте / репозитории микросервиса. Когда я делаю релиз, Дженкинс просто просматривает каждый выпущенный репозиторий микросервисов и извлекает оттуда версию. :)
Вместо Version.json in Jenkins
:
{
"microservice_a": "1.2.3",
"microservice_b": "2.3.4"
}
Вы бы получили:
Version.json in microservice_a repo
:
"1.2.3"
Version.json in microservice_b repo
:
"2.3.4"