Допустимо ли хранить все файлы проекта в одном репозитории?
В проекте есть py скрипты, скрипты базы данных, документация и много чего еще.
Вопрос: какие существуют best practice на хранение таких проектов в git?
Допустима разбивка на несколько репозиториев (для БД, для py скриптов и пр.) или лучше хранить все в одном репозитории и иметь разные ветки для каждого типа файлов?
вопрос интересует с точки зрения DevOps практик
DevOps скрипты хранятся в отдельном репозитории. Это pipelines, всякие питоновские скрипты конфиги и т.д Соответственно, код проектов по платформам ios, android, web и т.д. в отдельных репо.
Да, тоже так делаю. Зачастую деплой включает работу сразу с кучей репозиториев (фронтенд, бекенд как минимум, а если микросервисы, то тем более), и без отдельного репа для devops не обойтись.
Евгений, я открою секрет - изменения одновременно не происходят. А ещё бывают копитальные рефакторинг, обновление контейнеров, а ещё интереснее - rollback. Я могу привести миллион примеров когда подход с отдельным репозиторием не подходит.
Евгений, нет конечно. Надо отделять инфраструктуру от самого приложения. И тестировать приложение. А если нужны интеграционные тесты то их, конечно, отдельно делают. Ну и пайплайны разные. Билд, валидация и доставка контейнеров с приложением и деплой его в инфраструктуру - абсолютно независимые истории. Но это можно рассматривать как независимые проекты, поскольку у них разное назначение и работать они могут в отрыве одного от другого