Подтвердить что ты не робот

Как создавать и развертывать веб-приложения Python

У меня есть веб-приложение Python, состоящее из нескольких пакетов Python. Каков наилучший способ создания и развертывания этого сервера?

В настоящее время я развертываю пакеты с Capistrano, устанавливая пакеты в virtualenv с помощью bash и настраивая серверы с марионеткой, но я бы хотел пойти на более основанное на Python решение.

Я немного искал zc.buildout, но мне не понятно, что я могу/должен использовать для него.

4b9b3361

Ответ 1

В зависимости от вашей инфраструктуры. Мы просто используем debian-пакеты и buildbot для их создания.

В других настройках я использую скрипты Fabric. Что касается формата, я просто использую файлы tbz2, но я слышал о людях, которые просто деполоируют яйца.

Я настоятельно рекомендую иметь правильную сборку и иметь BuildBot/Hudson для создания пакетов, поскольку использование SCM превосходит цель и поощряет плохие практики.

Ответ 2

Paver - это команда rake/make для python. Я не знаю, если это то, что вы ищете, до сих пор не нашли ничего, что эквивалентно марионетке для python...

Ответ 4

pyinstall похоже, что это должно быть более простое решение для вас. По крайней мере, до того, как упаковывается материал python и устанавливается в virtualenv. Я не знаю о питоническом способе настройки конфигурации сервера...

Ответ 5

Я использую Mercurial в качестве моей системы SCM, а также для развертывания. Это просто вопрос клонирования репозитория от другого, а затем pull/update или fetch обновит его.

Я использую несколько экземпляров репозитория - один на сервере разработки, один (или более, в зависимости от обстоятельств) на моей локальной машине, один на рабочем сервере и один репозиторий "Мастер", доступный для большего Интернета (хотя только SSH).

Единственное, чего он не делает, это автоматически обновлять базу данных, если она изменена, но с входящими перехватами я тоже мог бы это сделать.