Анатомия веб-проекта Python: разработка, упаковка, развертывание

Я новичок в Python (из Java + Ant), и мне было интересно, может ли кто-нибудь подробно описать, как лучше всего использовать Fabric + Pip + Virtualenv для настройки скелета пакета веб-приложения Python.

Конечная цель состоит в том, чтобы иметь возможность выполнять любое из следующих действий с помощью одной команды:

  • Настройте среду разработки на новой машине разработчика (установив все приложения)
  • Запустить все тесты
  • Упаковать и развернуть на промежуточной стадии
  • Развертывание стейджинга в продакшн
  • Другие типичные задачи потока разработки: миграция схемы и т. д.

Я использую Debian + git + Tornado, но я бы хотел, чтобы эта ОС/SCM/фреймворк оставалась независимой, если это возможно.

Я сделал некоторые поиски, но мне еще предстоит найти что-то окончательное, что охватывает это сверху донизу. Я нашел бы это очень полезным, я полагаю, что есть несколько других бывших Java/PHP/что-то там парней, которые тоже были бы.

Спасибо!


person enterpriserehab    schedule 17.05.2010    source источник
comment
Я бы не хотел переходить от разработки к производству с помощью 1 команды :)   -  person extraneon    schedule 17.05.2010
comment
Я думаю, что @enterpriserehab хочет, чтобы для каждого из этих пунктов была отдельная команда.   -  person John Keyes    schedule 17.05.2010


Ответы (2)


Посмотрите мой ответ здесь. Он не отвечает на все ваши вопросы (на самом деле, в основном первый пункт), но, надеюсь, он поможет вам начать работу.

person Marcelo Cantos    schedule 17.05.2010

Сохранение его независимости от фреймворка, вероятно, будет довольно сложным.

Но, возможно, вы найдете следующие шаблоны пастера (хотя и для проектов Django) весьма полезными. http://morethanseven.net/2010/03/28/More-django-project-templates.html

Несмотря на то, что у Paster довольно сложная кривая обучения (по крайней мере, с моей точки зрения), он вполне удовлетворит ваши потребности в «скелетах проектов». На самом деле, с помощью шаблонов Paster вы можете добиться того же, что и Maven Archetypes.

person Benjamin Reitzammer    schedule 19.05.2010