Задать вопрос
r00t_aka_spin
@r00t_aka_spin
рубист-сатанист

Как хранить конфиги в репозитории?

Есть репозиторий в котором хранятся файлы сайта.

С сайтом работает команда разработчиков и необходимо хранить две версии кофигурационных файлов — одна для разработчиков с определенным набором простых паролей и для продакшена со сложными паролями и другими логинами.

Речь идет о настройках авторизации в MySQL, удаленных FTP и прочего.

Вопрос — подскажите как лучше организовать хранение обоих конфигов для продакшена и для серверов разработчиков.
  • Вопрос задан
  • 4668 просмотров
Подписаться 6 Оценить Комментировать
Решения вопроса 1
Я делаю так: в git-репозитории хранится конфиг для разработчиков или пустой конфиг. Конфиг для продакшена хранится вне git на сервере. При деплое просто делается симлинк.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@zibada
Сделать два файла — config.ext и config.local.ext, под контролем версий держать только первый, второй положить в игнор-лист.
Научить приложение читать оба файла с приоритетом настроек из второго.
Во втором переопределять только локально отличающиеся настройки типа паролей.
Тогда при добавлении новых настроек или изменении старых не надо будет трогать «локальные» конфиги вообще.
Ответ написан
Комментировать
philpirj
@philpirj
Что мешает использовать отдельный репозиторий для конфигов с ветками для продакшна и других, а подключать в основной репозиторий с помощью git submodule? Конечно, это будет удобно, если вы уже не используете submodule, тогда нужно быть более аккуратным при запуске git submodule update.
Ответ написан
Комментировать
config.default для настроек по умолчанию и пустой config.local для локальных, config.local в .gitignore. Приложение сначала читает config.default, а потом некоторые настройки переопределяет из config.local Это если не пользуюсь фреймворком в котором это проблема уже решена.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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