Я разрабатываю веб-сайт, который включает в себя бота XMPP и настраиваемый SMTP-сервер (в основном эти службы обрабатывают команды и отвечают). Я хотел бы настроить систему, в которой я мог бы разрабатывать локально, передавать изменения на промежуточный сервер и, наконец, на производственную систему. (По сути, я сейчас работаю на живом сервере.)
Я использую python и читаю немного о ткани, но наталкиваюсь на ментальный блок.
Я использую sqlalchemy-migrate для управления версиями базы данных и настройки базового DNS для хоста. Кроме того, у меня есть библиотека, над которой я сейчас работаю, обе эти службы используют (в моем глобальном каталоге site-packages). Я разверну это яйцо после того, как что-нибудь поменяю. В идеале это также может быть развернуто, но доступно только для правильной версии. Нужны ли мне две версии, stage-lib и live-lib? Возможно ли это с яйцами питона?
Нужен ли мне другой хост, чтобы выполнять роль промежуточного сервера для этих сервисов? Или есть ли способ сообщить DNS, что нечто@staging.myhost.com идет на порт, отличный от 25?
Прямо сейчас у меня есть файл с множеством методов, таких как stage_smtp, stage_xmpp, live_smtp, live_xmpp.