Как сказал @isbadawi, используйте Fabric .Это лучше, чем просто использовать терминал, потому что вы можете автоматизировать вещи.Что касается развертывания, вы можете упростить его до: fab -H your.host.com deploy
.Внутри файла, в котором вы пишете команды, может быть простой:
- Заставить сервер загружать самый последний код из SCM
- Обновить базу данных (syncdb / migrations / что у вас есть))
- Вызывает apache или что-то, что вы используете для перезагрузки конфигурации
Что касается некоторых более общих советов:
- Если выиспользуя WSGI, установите контроль над исходным кодом
- То же самое относится и к файлам локальных настроек, ваш скрипт развертывания переименует их в
local_settings.py
как часть сборки
Если вы действительнобезболезненно, посмотрите на хостинг-сервисы Django, такие как Gondor или Ep.io .У них будут клиенты, которые вы можете просто развернуть в псевдо-безболезненно, хотя вам придется изменить некоторые параметры на своей стороне, чтобы они лучше соответствовали их настройкам, поскольку существует много способов развертывания приложения Django.
Обновление: Ep.io больше не работает как хостинг.Мой новый переход - Heroku .
Обновление 2: Раньше я связывал local_settings.py
в развертываниях, но теперь я склоняюсь к использованию DJANGO_SETTINGS_MODULE
переменная конфигурации.См. настройки "django-skel" rdegge , чтобы найти хороший способ сделать это.