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

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

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

Похожие вопросы