Monorepo с выпуском общей библиотеки для обновления только одного проекта - PullRequest
1 голос
/ 03 апреля 2020

У меня есть monorepo, который имеет, скажем, 5. net базовые API, и все они используют несколько общих библиотек:

/api1
/api2
...
/api5
/common1
/common2

Я использую стратегию с одной основной веткой и хочу, чтобы моя главная ветвь была в syn c с тем, что развернуто в моей производственной среде.

Все они используют. net Core 2.2; Я хочу обновить их до. net core 3. Однако мне нужно быстро запустить "api1" в производство, и у меня нет времени обновить все API, я просто хочу обновить api1 и общие библиотеки. Однако, если я сделаю это, все мои другие API будут в неисправном состоянии в основной ветке.

Я думал, что мог бы сейчас создать ветку релиза состояния и создать другую ветку релиза для обновленного API. а общие либ? Однако это означает, что основная ветвь становится своего рода веткой разработки, а не репрезентативной для того, что развернуто в рабочей среде? Как мне решить эту проблему?

Кроме того, как вы делаете отдельные ветки API Git для выпусков, а не выпуски для всего монорепо? (/releases/ap1/1.1) Вы просто игнорируете все, кроме API, для которого предназначен релиз?

1 Ответ

0 голосов
/ 03 апреля 2020

Все они используют. net Core 2.2; Я хочу обновить их до. net core 3. Однако мне нужно вывести "api1" в производственную систему как можно скорее, и у меня нет времени обновить все APIS, я просто хочу обновить api1 и общие библиотеки.
Однако, если я сделаю это, все мои другие API будут в сломанном состоянии в ветви master.

Этого нельзя избежать, если вы хотите, чтобы master представлял то, что развернут в производственном процессе.

Разработка другого (в настоящее время сломанного в master) API-интерфейса должна произойти в ветви dev, прежде чем она будет объединена с master, когда они будут готовы к выпуску.

...