web-dev-qa-db-ja.com

Pythonファブリック-ホストが見つかりません。接続用の(単一の)ホスト文字列を指定してください:

ホストが見つかりません。接続用の(単一の)ホスト文字列を指定してください:?

ファブリックで解決するにはどうすればよいですか?

def bootstrap():
    Host = 'ec2-54-xxx.xxx.xxx.compute-1.amazonaws.com'
    env.hosts = [Host]
    env.user = "ubuntu"
    env.key_filename = "/home/ubuntu/omg.pem"

> command run
>> fab bootstrap
> No hosts found. Please specify (single) Host string for connection: 
16
Tampa

タスク内にホストを設定する代わりに、デコレータで呼び出される前に設定します。

from fabric.api import hosts, env

@hosts(['ec2-54-xxx.xxx.xxx.compute-1.amazonaws.com'])
def bootstrap():
    env.user = "ubuntu"
    env.key_filename = "/home/ubuntu/omg.pem"

詳細については、 ホストリストの定義 を確認してください-必要なものに応じて、さまざまな方法で実行できます。

13
girasquid

また、env.hostsの代わりにenv.Host_stringを使用することもできます。

def bootstrap():
    env.Host_string # 'ec2-54-xxx.xxx.xxx.compute-1.amazonaws.com'
    env.user = "ubuntu"
    env.key_filename = "/home/ubuntu/omg.pem"
23
Raul Gomez

または、関数の外部で環境設定を設定することもできます

from fabric.api import env, run

Host = 'ec2-54-xxx.xxx.xxx.compute-1.amazonaws.com'
env.hosts = [Host]
env.user = "ubuntu"
env.key_filename = "/home/ubuntu/omg.pem"

def test():
    run('ls -la')
3
user3465904