автоматизировать и оптимизировать развертывание Django с локального на сервер - PullRequest
0 голосов
/ 07 февраля 2012

Недавно я начал развертывать свой незавершенный сайт django с моего локального сервера.Но я делал это вручную, что некрасиво, неорганизованно и подвержено ошибкам.

Я ищу способ автоматизации и оптимизации следующих задач развертывания:

  1. Убедитесь, что все изменения зафиксированы и отправлены в удаленный исходный репозиторий (mercurial), и отметьте выпуск.
  2. Развертывание выпуска на сервере (включая любые необходимые сторонние приложения, отсутствующие на сервере)
  3. Применение изменений модели к базе данных на сервере

Для 2) у меня есть еще два вопроса.Должен ли источник развертывания быть моим локальным env или репозиторием источника?Нужно ли разностное или полное развертывание?

Для 3) я использую южный в своем локальном для применения изменений модели в базе данных.Я делаю то же самое на сервере?Если да, то как применить несколько миграций одновременно?

1 Ответ

2 голосов
/ 07 февраля 2012

Я думаю, что Fabric - это легкий в использовании инструмент развертывания python для defacto. http://docs.fabfile.org/en/1.3.4/index.html. Это очень просто и поможет вам организовать и развернуть развертывание. Это позволяет легко scp или rsync. Кроме того, его легко интегрировать с тестами django.

Для моих небольших проектов я просто делаю источник моих развертываний своей локальной средой. Я оформляю чистую копию и оттуда разворачиваюсь. Вероятно, было бы лучше интегрировать это с моим контролем версий для быстрого отката, если после развертывания возникнут какие-либо ошибки.

Я никогда не использовал юг, но я думаю, вы могли бы просто написать потрясающую команду для синхронизации вашего рабочего сервера. Если вы используете юг на dev, я не могу представить, почему вы не захотите использовать его и на производстве?

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