Я имею дело с проектом django, который мы запускаем вживую, даже когда я пишу это.Рабочий сервер является линодом, и в рамках настройки у нас есть SSL и сертификаты, а также несколько отличий от разработки и контроля качества.
В моем settings.py
у меня есть следующий код:
import socket
hostname = socket.gethostname().lower().replace('-', '_').split('.')[0]
try:
exec("from %s_local_settings import *" % hostname)
except ImportError:
pass
, который загружает локальные настройки для этого конкретного ящика с линодами.Но на том же линоде у нас будет еще один экземпляр проекта (тот, который мы размещаем для клиента).Этот первый экземпляр похож на рекламу / демонстрацию / обучение.Итак, мой милый маленький взломать имя узла не сработает ....
Как вы справляетесь с такого рода проблемами в производственной среде?Скоро у нас будет резервная копия с зеркальными базами данных, поэтому сложность продолжает расти, и я не уверен, как легко отслеживать и поддерживать все изменения.
Я использую git и создалветвь с именем production-www, я предполагаю, что по мере продвижения вперед я сливаюсь с master в ветку production-www, и файлы, относящиеся к этой установке, не будут перезаписаны (за исключением файла имени узла, которыйУ меня нет решения на данный момент).
Кто-нибудь делает что-нибудь проще или умнее, чем это?