やあ! 設定ファイルまたはfabfile自体のいずれかでhosts
を指定することは可能ですか?
CLI( -H
)を介してそれらを提供できることは知っていますが、fabfileが特定のサーバーと通信するように設計されている場合、正当な理由なしにユーザーに余分なことを強制するだけです。
私が理解できる「最良の」解決策は、手作業で接続を作成することでした。
<strong i="10">@task</strong>
def my_ls(c):
conn = Connection('myhost')
conn.run('ls')
しかし、(1)どこにでも複製する必要があり、(2)コンテキスト引数が無意味になるため、これはかなり汚いようです。
同じ質問があります。 fabfileの先頭にconn = Connection('myhost')
を置くという解決策を思いついたので、次のようになります。
conn = Connection('myhost')
<strong i="7">@task</strong>
def my_ls(c):
conn.run('ls')
<strong i="8">@task</strong>
def my_cd(c):
conn.run('cd')
....
しかし、私はその解決策が好きではなく、デフォルトの接続をコンテキストに注入する方法があるはずだと感じています。
私も知りたいです。 構成ファイルにホストを配置できると便利です。
また、ホストリスト(-Hを指定)を提供しない場合、デフォルトはlocalhostになります。 この/発生エラーを防ぐためのオプションが欲しいのですが。
上記のすべてに同意しました。 古いenv.hosts設定が本当に恋しいです。 美しくシンプルでした。
-1invoke.yamlなどの別の設定ファイルが必要な場合。 私は、モンキーパッチまたはホストを指定できるようなインポートフックを使用したいと思います。
また、ホストが指定されていない場合、 ctx.local
が存在しないことを理解するのに少し時間がかかりました:(
#4を参照してください!
最も参考になるコメント
上記のすべてに同意しました。 古いenv.hosts設定が本当に恋しいです。 美しくシンプルでした。
-1invoke.yamlなどの別の設定ファイルが必要な場合。 私は、モンキーパッチまたはホストを指定できるようなインポートフックを使用したいと思います。
また、ホストが指定されていない場合、
ctx.local
が存在しないことを理解するのに少し時間がかかりました:(