5
Fabric已經成爲部署Django項目和初始配置Ubuntu slices的首選部署工具。但是,我現在的工作流程Fabric不是很DRY,因爲我發現自己:跨多個項目共享一個fabfile
- 複製
fabfile.py
從一個Django項目到另一個 - 根據需要爲每個項目(修改
fabfile.py
例如,改變從Apache到Nginx的webserver_restart
任務,配置主機和SSH端口等)。這個工作流程的
一個優點是,fabfile.py
成爲我Git庫的一部分,所以fabfile.py
和piprequirements.txt
之間,我有一個recreateable virtualenv和部署過程。我想保持這個優勢,同時變得更加DRY。看來,我可以提高我的工作流程是:根據需要
- 能夠
pip install
在fabfile.py
和 - 有
fab_config
文件,其中包含每個項目的主機配置信息,並覆蓋任何任務定義的公共任務