Size: a a a

2021 March 13

VG

Valentin Golev in ctodailychat
мой опыт:

самая большая монорепо что я девопсил - трифакта / гугл клауд датапреп. там был серьезный сла, немало сервисов, и необходимость поддерживать версий десять на куче платформ, аккуратно их мигрировать, делать так, чтобы и у клиентов мигрировалось

обходились гитом, кубернетесом (я внедрил хелм и думаю, что это была ошибка - он жив еще?), и кластерами под бранчи везде где и когда надо. всё было прямо очень хорошо, а когда плохо - было понятно как сделать хорошо

да, си ай там был дикий (на женкинсе), но работал и все обслуживал. и действительно его конфиги были не в монорепе (я пытался придумать, как, но не смог: лучшее, что вышло, это по максимуму читать и исполнять версионированные файлы). если бы я хотел сделать посовременнее... не знаю даже, что бы я сделал
источник

VG

Valentin Golev in ctodailychat
про си ай поинт, короче, засчитан, но из двух проблем девопс или билд тимы - си ай и синхронизация реп - выберу всегда первую)
источник

VG

Valentin Golev in ctodailychat
причем гиганты точно на монорепе, а вот мелочь, которой этой возни точно не нужно, сразу создают пять реп себе
источник

VG

Valentin Golev in ctodailychat
Andrey
Я работал только с одним монорепо и там такие вещи решались утилитами разработанными для этого монорепа
не очень понял... может я плохо сформулировал. я однозначно за монорепы, и они отлично работают с лучшими инструментами для любого девопса: а именно гитом и текстовыми конфигами
источник

O

Onlinehead in ctodailychat
Valentin Golev
не очень понял... может я плохо сформулировал. я однозначно за монорепы, и они отлично работают с лучшими инструментами для любого девопса: а именно гитом и текстовыми конфигами
Гитовая монорепа на десяток гигабайт. Удачно почекаутить:)
источник

VG

Valentin Golev in ctodailychat
если надо синхронизировать десять реп которые в сумме на десять гигабайт, чекаутить придется больше)
источник

O

Onlinehead in ctodailychat
Valentin Golev
если надо синхронизировать десять реп которые в сумме на десять гигабайт, чекаутить придется больше)
Для больших проектов существуют другие инструменты. Но вообще тут все it depends. Правильного ответа без доп. условий нет.
источник

VG

Valentin Golev in ctodailychat
но про случаи когда десять гигов я не буду универсальные решения предлагать конечно)
источник

VG

Valentin Golev in ctodailychat
факт что гиганты на монорепе остается фактом
источник

O

Onlinehead in ctodailychat
Десять гигов это относительно маленькая репа еще)
источник

VG

Valentin Golev in ctodailychat
Google,[5] Facebook,[6] Microsoft,[7]Shopify,[8]Uber,[9] Airbnb and Twitter[10] all employ very large monorepos with varying strategies to scale build systems and version control software with a large volume of code and daily changes
источник

VG

Valentin Golev in ctodailychat
если честно я в гигах не мерил никогда, дойду до компа подсчитаю сколько у кого что
источник

O

Onlinehead in ctodailychat
Valentin Golev
факт что гиганты на монорепе остается фактом
Там не совсем прям уж монорепа. Там как бы она есть, но тулсет по сути свой и оно не совсем прям то, что представляется при слове «монорепа».
источник

VG

Valentin Golev in ctodailychat
мой поинт: не должно быть разных систем версий у разных микросервисов, если это не является внешним требованием
источник

VG

Valentin Golev in ctodailychat
как это организовано это деталь
источник

O

Onlinehead in ctodailychat
Что значит разные системы версий?
источник

A

Andrey in ctodailychat
Igor V
Там по-моему SQS все решалось.
Да
источник

VG

Valentin Golev in ctodailychat
Onlinehead
Что значит разные системы версий?
значит что если у тебя для фичи менять надо два сервиса, ты создаешь два бранча (или три: еще один в репе "инфраструктура", если дошел до этого) и синхронизируешь их примерно теми же ручными техниками, что и если бы ты многопоточную глупость какую на ассемблере писал
источник

A

Andrey in ctodailychat
Valentin Golev
не очень понял... может я плохо сформулировал. я однозначно за монорепы, и они отлично работают с лучшими инструментами для любого девопса: а именно гитом и текстовыми конфигами
И вот надо тебе поднять проект из вот этой директории....
источник

VG

Valentin Golev in ctodailychat
gradle build, mutatis mutandis
источник