@Barbaresk

Как настроить работу с версиями проектов в системе контроля версий?

Здравствуйте, у меня есть монорепозиторий GIT, в котором примерно 10 проектов на C#. Когда давно их было меньше и имели они примерно следующую структуру зависимостей:
6108357e9faa2340606078.png
Проблем такие зависимости не составляли и при необходимости внести в сайт, автоматически вносились изменения в проект бизнес-логики и связи с бд, а заодно и в тесты. Всё прекрасно версионировалось в GIT. В какой-то момент, у меня появился второй сайт, имеющий те же зависимости и схема стала чуть сложнее. Тогда появились первые проблемы, когда при изменении сайта1 менялась бизнес-логика немного. И в итоге при попытке собрать сайт2 в лучшем случае сборка не проходила, а в худшем, она проходила, но при этом я забывал, что в сайт2 нужно было внести какие-то изменения в связи с изменением бизнес-логики из-за сайта1 и всё это выливалось в баги в проде.
610836e7627ab771688365.png
Не так давно произошел резкий рост числа сайтов и из сайтов были вынесены общие части (админка, статистика, корзина). В результате каждый сайт стал зависеть от бл, бд, и 3-4 дополнительных библиотек-частей сайта. Ну и вот тут всё стало плохо, потому что как-то отслеживать в рамках гита, какой сайт-проект зависит от какого подпроекта стало уже невозможным. При этом вносить изменения сразу во все проекты невозможно - каждое изменение сайтов обычно сопровождается его тестированием и релизом на прод. Читал про сабмодули гита, но получается, что в таком случае мне всё равно не получится все свои сайты держать в одном месте, поскольку они зависят от разных версий под проектов. В идеале нужно как-то сделать возможность зависимости разных проектов от разных версий. Но как? Непонятно.
6108394030842935037793.png
Хотелось бы понять, как можно уменьшить эту проблему, если даже нельзя от нее полностью избавиться.
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы