// личный канал‑лог
gavrilovlog
← все записи

Монорепозиторий.

👁 392
У меня есть небольшой опыт работы в компании, где использовался монорепозиторий для всего проекта. И Backend и Frontend находились в одной репе. Какие плюсы этого подхода? (Важно сказать, что и Backend, и Frontend были написаны на TypeScript): 1. Все находится под рукой и можно использовать шаринг кода между проектами. Общие интерфейсы для фронта и бэка. 2. Единое версионирование. Проще отслеживать совместимость кода. 3. Единая сборка и отсутствие управления зависимостями. Идея в том, что нет необходимости в управлении зависимостями, так как проекты собирается одновременно. 4. Атомарность коммитов. Тут говорится о том, что данная особенность позволяет проще проводить рефакторинг кода. 5. И конкретно специфичный пункт для данного стека и проекта, в том что поддержка осуществлялась двумя фулстек разработчиками. (Возможно это и было основной причиной использования монорепы) 6. Единое код-ревью. Почему мы отказались от монорепозитория? 1. Раздельная сборка. Фронт собирался около 15 минут, Бэк за 3 минуты. Поэтому, даже простое изменение на Бэке, требовало 15 минут ожидания вместо 3 минут, чтобы выкатить какой-нибудь хот-фикс. 2. Уход от связности кода. Изменение внутренних интерфейсов бэкенда, могло повлиять на сборку фронтенда и наоборот. 3. Уменьшили вес проектов, так как с ростом проекта, выполнение команды git status выполнялось примерно 15 секунд и это был не предел. 4. Уход команды от фулстек-специалистов к разделению на Фронтенд и Бэкенд. Что позволило Бэкенду внедрять дополнительный стек или вовсе перейти на другой язык. А у вас есть опыт работы с монорепозиторием? Дополняйте свои плюсы и минусы.
2