Как принято шарить *.proto файлы между командами?

Допустим есть сервис users, который работает по protobuf. Допустим есть 2 клиента этого сервиса на Go и nodejs над которыми трудятся соответственно 2 разные команды. Как принято шарить *.proto файлы для генерации клиентов между другими командами?
  • Вопрос задан
  • 238 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Akela_wolf
Extreme Programmer
В дополнение к ответу Василий Банников
Сложить файлы *.proto в отдельный репозиторий и настроить CI чтобы он по этим файлам генерил артефакты для Go и nodejs (и складывал их в репозиторий артефактов, для npm и что там у го в качестве менеджера пакетов). А в проектах добавить зависимости от этих артефактов и, таким образом, избавиться от необходимости иметь сами *.proto файлы в проектах.
Ответ написан
vabka
@vabka
Токсичный шарпист
Из того что я нашёл:
1. git submodule (но будут проблемы с синхронизацией, тк автоматически они не обновляются)
2. Какие-то скрипты поверх git submodule, которые будут решать их проблемы. (в комментах дали ссылку на такую штуку: https://github.com/protop-io/protop, но я бы не стал её использовать)
3. Какие-то сторонние решения (https://buf.build/). Можно загуглить как-нибудь типа "protobuf package manager"
4. монорепозиторий (monorepo), чтобы избавиться от сабмодулей на корню.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы