Изменение настроек Sinatra для каждой машины - PullRequest
1 голос
/ 19 июля 2011

Моя машина разработки отличается от моих серверов развертывания / производства некоторыми способами, которые не могут быть изменены. (Например, на моей машине для разработки имеется несколько версий серверов баз данных, работающих на разных портах, в то время как на каждом производственном сервере работает только одна версия СУБД, причем каждый экземпляр работает на порте по умолчанию.)

Какие методы доступны для настройки веб-приложения Sinatra по-разному на одном компьютере и на другом? В идеале ответы должны обобщать несколько подходов и выделять тот подход, который лучше всего работает для респондента. Любые файловые решения также должны (в идеале) обсуждать, как справиться с этой ситуацией при наличии единого репозитория контроля версий между двумя компьютерами.

Обратите внимание, что этот вопрос / проблема ортогональны настройке режима разработки в сравнении с режимом производства.

1 Ответ

3 голосов
/ 19 июля 2011

Одним из решений было бы загрузить два файла конфигурации: сначала главный (скажем, settings.rb), затем машинно-зависимый, который переопределял бы необходимые настройки (settings-custom.rb).

Конечно, поскольку у вас есть несколько компьютеров, у вас есть несколько наборов конфигурации.Чтобы легко управлять ими, их можно назвать settings-$hostname.rb.Тогда вы можете просто символическую ссылку на соответствующий файл settings-custom.rb.Например, в Unix:

ln -s settings-`hostname`.rb settings-custom.rb

Если вы используете управление исходным кодом, вы можете отслеживать все наборы конфигурации и игнорировать settings-custom.rb (потому что это только символическая ссылка, и ее не нужно отслеживать)- с помощью этого метода вам не нужно менять код между машинами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...