2

名前空間を持つファブリックを使用して、開発サーバーと運用サーバーのコマンドを分離しています

構造は

fabfile/
    __init__.py
    dev.py
    prod.py  

dev.pyprod.pyは両方とも異なる定義env.shellをしており、そのうちの 1 つが別のものをオーバーライドします。

envファブリックにファイルごとの構成を使用する方法はありますか?

4

1 に答える 1

1

@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 を使用できませんが、私には適しています。

于 2013-05-27T15:13:41.917 に答える