@DEMonBond

Как правильно организовать структуру хранения и контроль версий проекта?

Здравствуйте!

Занимаюсь оптимизацией процессов разработки, а также внедрением практик CI/CD, использую gitlab и его систему автосборки, у меня в разработке проект на (qt, С++, но я думаю это не важно), использующий библиотеки, которые по факту тоже являются отдельными подпроектами, которые реализуют определённый функционал, без них основной проект не работает и не собирается!

Как правильно организовать хранение и сборку проектов и подпроектов, должны ли исходники для сборки библиотек лежать в отдельных репозиториях, сейчас всё хранится в одной куче - раздельная компиляция позволяет не пересобирать проект полностью, но мне кажется правильно раскидать подпроекты по разным репозиториям и собирать отдельно, есть основной проект и есть библиотеки, для каждой либы отдельно завести репозиторий и внедрять контроль версий, автотесты, плюс удобно вести трудозатраты и отслеживать изменения, потому что сейчас там чёрт ногу сломит?

Напишите о своей практике управления и организации проектами!

Спасибо всем ответившим.
  • Вопрос задан
  • 170 просмотров
Пригласить эксперта
Ответы на вопрос 1
veydlin
@veydlin
Мне никогда не жалко средств на свое любопытство
Если дело обстоит "куча либ (dll) и один проект" то я делаю у себя так:

Для каждой либы отдельный репозиторий, такая либа знать не знает в каких проектах её будут использовать, она просто выдает по версиям свои dll, кто какую версию хочет - такую и берет

Проекты которые используют эти либы хранят их у себя в папке libs

Выходит:
1) Вы создаете проект
2) Берете нужные либы и копируете их dll прямо в папку проекта (я лично не люблю когда проект начинает доставать каждый раз либы неизвестно от куда, источники могут умереть или изменится)
3) Готово

Система такая же как если бы эти либы были не ваши, а от стороннего разработчика. У таких разработчиков иногда есть репозитории, и есть готовые dll. Как вы поступаете в таком случае? Подключаете репозиторий и компилируете? Просто копируете dll в проект? Делайте так же и с вашими либами

В visual studio, кстати, есть так называемые "решения", которые собирают вместе проекты и компилируют их
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы