名前空間を持つファブリックを使用して、開発サーバーと運用サーバーのコマンドを分離しています
構造は
fabfile/ __init__.py dev.py prod.py
dev.pyとprod.pyは両方とも異なる定義env.shell
をしており、そのうちの 1 つが別のものをオーバーライドします。
env
ファブリックにファイルごとの構成を使用する方法はありますか?
@taskデコレータを次のようにオーバーライドすることになりました。
functoolsインポートラップから fabric.api からタスクを real_task としてインポート デフォルトタスク(関数): @wraps(関数) def wrapper(*args, **kwargs): 設定あり(shell='/path/to/my/shell'): return func(*args, **kwargs) return real_task(wrapper)
この形式ではエイリアスやその他の kwargs を使用できませんが、私には適しています。