Переход с runserver на рабочий сервер - PullRequest
1 голос
/ 29 июня 2011

Я довольно новичок в программировании, и все мои разработки были на моем локальном runserver с использованием textmate и терминала. Я написал небольшое приложение с несколькими сотнями, и я хотел бы отправить его на сервер EC2. Мои единственные знания в области «инструментов разработки» - это локальный сервер выполнения Django, TextMate и Terminal.

Какие инструменты или программы я должен изучить, чтобы иметь эффективный рабочий процесс? Должен ли я использовать какую-то IDE поверх TextMate для этого? Моя главная проблема - возможность разработки на моем локальном сервере выполнения, а затем безболезненно перенести это на мой рабочий сервер.

Ответы [ 2 ]

3 голосов
/ 29 июня 2011

Как сказал @isbadawi, используйте Fabric .Это лучше, чем просто использовать терминал, потому что вы можете автоматизировать вещи.Что касается развертывания, вы можете упростить его до: fab -H your.host.com deploy.Внутри файла, в котором вы пишете команды, может быть простой:

  1. Заставить сервер загружать самый последний код из SCM
  2. Обновить базу данных (syncdb / migrations / что у вас есть))
  3. Вызывает apache или что-то, что вы используете для перезагрузки конфигурации

Что касается некоторых более общих советов:

  • Если выиспользуя WSGI, установите контроль над исходным кодом
  • То же самое относится и к файлам локальных настроек, ваш скрипт развертывания переименует их в local_settings.py как часть сборки

Если вы действительнобезболезненно, посмотрите на хостинг-сервисы Django, такие как Gondor или Ep.io .У них будут клиенты, которые вы можете просто развернуть в псевдо-безболезненно, хотя вам придется изменить некоторые параметры на своей стороне, чтобы они лучше соответствовали их настройкам, поскольку существует много способов развертывания приложения Django.

Обновление: Ep.io больше не работает как хостинг.Мой новый переход - Heroku .

Обновление 2: Раньше я связывал local_settings.py в развертываниях, но теперь я склоняюсь к использованию DJANGO_SETTINGS_MODULE переменная конфигурации.См. настройки "django-skel" rdegge , чтобы найти хороший способ сделать это.

1 голос
/ 29 июня 2011

DVCS, например git или Mercurial, позволит вам разрабатывать и тестировать локально, а затем передавать изменения в удаленную систему для подготовки и производства.

...