Сотрудник и я столкнулись с проблемой, по которой у нас много мнений.
В настоящее время у нас есть git-репозиторий, в котором мы храним все наши cronjobs. Их около 20, и они на самом деле не связаны, за исключением того факта, что они являются небольшими скриптами на python и необходимы для некоторой деятельности. Мы используем fabric.py
файл для развертывания и requirements.txt
файл для управления требованиями для всех сценариев.
Наша проблема в основном, мы храним все эти скрипты в одном репозитории git или мы должны разделить их на их собственные репозитории? Храня их в одном репозитории, проще развернуть их на одном сервере. Мы можем использовать только один файл cron для всех сценариев.
Однако это кажется неправильным, поскольку 20 cronjobs не связаны между собой логически. Кроме того, при использовании одного requirements.txt
файла для всех сценариев трудно выяснить, каковы зависимости для конкретного сценария, и все они должны использовать одни и те же версии пакетов.
Мы могли бы разделить все скрипты на их собственные репозитории, но это создает 20 различных репозиториев, которые необходимо запомнить и обработать. Большинство этих скриптов не очень большие, и это решение кажется излишним.
С этим связан вопрос: используем ли мы один большой файл crontab для всех cronjobs или отдельный файл для каждого? Если у каждого есть свой собственный, как установка одного crontab позволяет избежать перезаписи других 19? Это также кажется болезненным, так как было бы 20 различных файлов cron для отслеживания.
Короче говоря, наш главный вопрос и проблема заключается в том, должны ли мы держать их всех тесно связанными в один репозиторий, или же мы разделяем их в их собственный репозиторий с их собственными Requirements.txt и fabfile.py? Мы чувствуем, что мы также, вероятно, ищем какое-то действительно простое решение. Есть ли более простой способ решить эту проблему?
источник
Ответы:
Если только у вас нет особой причины думать, что каждый из них заслуживает отдельного репо (много ли они вырастут? Вероятно, нет!), Представляется более разумным поместить их всех в один репо и избавить себя от необходимости клонировать все из них от 20 репо.
Хранение каждого в отдельном репо похоже на путь создания проблемы, где проблемы не существует.
Не создавайте дополнительную работу для себя (и других).
источник
Если нет действительно веской причины для такого разделения (производительность; чрезмерные организационные проблемы / проблемы безопасности и т. Д.), То мой инстинкт состоит в том, чтобы хранить исходные документы вместе в одном репозитории.
Разделение систем на отдельные репозитории обычно создает барьеры, которые препятствуют повторному использованию; поскольку повторное использование является практически единственным способом, которым организация должна амортизировать стоимость разработки, все, что мешает повторному использованию, само по себе является плохой вещью.
источник