16

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

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

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: 
4

3 に答える 3

25

また、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"
于 2014-06-08T15:28:06.223 に答える
13

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

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"

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

于 2013-03-25T18:08:25.363 に答える
3

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

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')
于 2014-09-15T08:55:22.407 に答える