В общем, столкнулись мы с проблемой разворачивания нескольких проектов на одном сервере и управления ими. Гугл говорит, что, в основном, люди руками пишут служебные скрипты для подобных вещей. Собственно, спрашиваю кошерных практик реализации подобных вещей. Читать статьи это одно, беседовать с людьми информативнее бывает.
Сейчас останавился на контроле через supervisor, а проекты должны содержать:
- requrements.txt (список используемых пакетов)
- директорию с конфигом nginx для симлинка
- такую же директорию для supervisor
- конфиг uwsgi
Механизм такой: запускаем fab с адресом репозитория и названием проекта, fab создает директорию в www, виртуальное окружение, клонирует репозиторий, доставляет зависимости, делает симлинки для конфигов и, опционально, релоадит супервизор и nginx.
Ход мыслей верный? Или можно сделать проще/лучше/надежнее? Может есть удобные готовые инструменты?