Вот моя проницательность (я использую fabric
практически во всех своих проектах, но я не настолько опытен в этом).
Как только вы понимаете, что ваш fabfile
слишком большой и не очень читаемый с того, что install_nginx
, restart_apache
, backup_db
, create_virtualenv
, configure_permissions
задач - вы должны рассмотреть возможность сделать это лучше.
fabfile
пакет вместо одного скрипта.
- определяют подмодуль для каждого компонента, с которым вам приходится иметь дело, например.
database
, nginx
, virtualenv
и т. Д.
- в каждом из этих подмодулей определяют связанные задачи. Например. для
nginx
подмодуль в вашем случае это может быть install
, setup
, deploy
.
- в
__init__.py
определяет задачи высокого уровня, такие как build
, deploy
, restart
, которые используют подзадачи и подзадача для других компонентов.
Примерная структура fabfile
пакет:
fabfile
├── __init__.py
├── db.py
└── nginx.py
Тогда выход fab --list
будет чем-л так:
deploy
build
setup
db.backup
nginx.setup
nginx.install
nginx.deploy
Также см соответствующую documentation.
Надеюсь, что это поможет.
Я согласен с вашей интерпретацией установки и настройки. Для меня разверните больше звуков, например, сделав nginx готовым к настройке, которая также включает вызов install() и setup(). – Shekhar