Fabricは、 Djangoプロジェクトの展開と Ubuntuスライスの初期構成の両方で、私の最適な展開ツールになりました。ただし、Fabricを使用した現在のワークフローはあまりDRYではありません。
fabfile.py
あるDjangoプロジェクトから別のプロジェクトにコピーし、- 各プロジェクトの必要に応じて を変更します
fabfile.py
(たとえば、webserver_restart
タスクを Apache から Nginx に変更する、ホストと SSH ポートを構成するなど)。
このワークフローの利点の 1 つは、 がGitリポジトリfabfile.py
の一部になることです。したがって、とpipの間に、再作成可能な virtualenvとデプロイ プロセスがあります。このアドバンテージは残しつつ、DRYを増やしていきたいです。次の方法でワークフローを改善できるようです。fabfile.py
requirements.txt
- および
pip install
で定義された一般的なタスクを実行できるfabfile.py
- 各プロジェクトのホスト構成情報を
fab_config
含むファイルを用意し、必要に応じてタスクをオーバーライドする