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 сервиса одновременно обновляться будут, а простаивать нельзя. Я бы тогда делал бы через версии. Тогда и проблема гита отпадает.
Обсуждают сегодня