Решение Zerkms быстрое, простое и чистое, и, вероятно, ваш лучший выбор для предотвращения отслеживания / публикации защищенного контента; однако, как вы говорите: «Если этого нет в системе контроля версий, значит, его не существует». Я обнаружил, что гораздо чаще то, что я пытаюсь уберечь от контроля версий, - это не проблема безопасности, а просто параметр конфигурации. Я считаю, что эти следует отслеживать, и у моего нынешнего работодателя есть довольно умная установка для решения этой проблемы, которую я попытаюсь упростить / обобщить / резюмировать здесь.
REPOSITORY
code/
...
scripts/
configparse.sh
...
config/
common.conf
env/
development.conf
testing.conf
production.conf
users/
dimo414.conf
mycoworker.conf
...
hosts/
dimo414-laptop.conf
dimo414-server.conf
mycoworker-laptop.conf
...
local.conf*
makefile
.conf*
* untracked file
Надеюсь, идея здесь довольно ясна, мы определяем настройки на каждом соответствующем уровне, обеспечивая детальный контроль поведения кодовой базы логическим и последовательным образом.
Сценарий scripts/configparse.sh
по очереди считывает все необходимые файлы конфигурации и строит .conf
из всех найденных параметров.
config/common.conf
является отправной точкой и содержит логические значения по умолчанию для каждой настройки. Многие, вероятно, будут перезаписаны, но здесь указано кое-что. Это ошибка, если параметр находится в другом файле, который изначально не задан в common.conf.
config/env/
управляет поведением в различных средах, например указывает на правильные серверы баз данных.
config/users/
ищет $USER.conf
файл, полезный для настройки вещей, которые меня волнуют, например, увеличения уровня ведения журнала для аспектов, над которыми работает моя команда, или настройки поведения, которое я предпочитаю использовать на всех своих машинах.
config/hosts
делает то же самое с машинами, ища $HOSTNAME.conf
. Полезно для машинно-зависимых настроек, таких как пути к приложениям или каталоги данных.
config/local.conf
- это неотслеживаемый файл, который позволяет вам устанавливать значения и / или контент, специфичные для оформления заказа, в системе контроля версий.
Совокупность всех этих настроек выводится в .conf
, что и ищет остальная часть кодовой базы при загрузке настроек.
person
dimo414
schedule
11.03.2013