ファブリック2でローカルコマンドを実行するにはどうすればいいですか? 質問する

ファブリック2でローカルコマンドを実行するにはどうすればいいですか? 質問する

追加の接続を確立せずに、Fabric を使用してローカルでコマンドを実行したいと考えています。

これをどうやって行うのか生地2? ...ドキュメンテーション例を挙げていないようです。

ベストアンサー1

Fabric 2 でコマンドを削除するという設計上の決定により、これはより困難になりますが、の代わりに from Invoke をlocal使用してシミュレートすることができました。ContextConnection

from fabric import Connection
from invoke.context import Context

@task
def hostname(c):
    c.run('hostname')

@task
def test(c):
    conn = Connection('user@host')
    hostname(conn)
    local_ctx = Context(c.config)  # can be passed into @task;
                                   # Connection is a subclass of Context
    hostname(local_ctx)

おすすめ記事