API - шлюза, сервисом с набором gRPC клиентов и сервисами с реализованными grpc серверами.
По задаче запрос должен пролететь 3 - 4 сервиса, в которых надо обновить proto файлы и дописать логику для фичи.
С точки зрения гита(гитлаба), как вести разработку, если:
1. Мне надо в первом сервисе сделать новую бранчу, в которой добавляю что то в proto и ребилдю код.
2. Во втором сервисе импортировать код с фичей из бранчи первого сервиса.
И так до четвертого.
Как в таком случае ведется разработка фичи?
Разбить задачу на этапы и последовательно мержить каждый кусок, чтобы, например, во втором сервисе импортировать свежий мастер?
Или использовать импорта бранчей в каждом сервисе, проверить как это работает, а потом править импорты и последовательно мержить?
Поделитесь, пожалуйста, опытом. Сам не сталкивался с таким, только с монорепами)
Посмотрите не подойдёт ли вариант делать proto api разных версий. Новую положить в какую-нибудь соседнюю папку api/v2 и из других проектов ипмортировать уже как import apiv2 "...".
Перед сообщением нагуглил вот такую команду, интересно как люди пользовались ею. go get <path-to-repo>@<branch>
можно еще git tag версии повесить
Ну если речь только про git, то да, можно и как Вы нагуглили. Но я ответил с заделом на будущее, особенно когда все 4 сервиса одновременно обновляться будут, а простаивать нельзя. Я бы тогда делал бы через версии. Тогда и проблема гита отпадает.
Обсуждают сегодня