1

ラバーを使用してアプリをAWSにデプロイしようとしています。

しかし、setup_remote_aliasesタスクは、「sftp upload#StringIO:0x103bf1068->」というメッセージで「スタック」します。

キャップラバー:リフレッシュを試してみると、同じポイントで再びスタックします。マイクロインスタンスを設定しています-それが原因でしょうか?

ログは次のとおりです。

 Instance running, fetching hostname/ip data
  * executing `rubber:_allow_root_ssh'
  * executing "sudo -p 'sudo password: '  bash -l -c 'cp /home/ubuntu/.ssh/authorized_keys /root/.ssh/'"
    servers: ["23.20.223.139"]
 ** Can't connect as user ubuntu to 23.20.223.139, assuming root allowed
  * executing `rubber:_direct_connection_23.20.223.139_794'
  * executing "echo"
    servers: ["23.20.223.139"]
    [23.20.223.139] executing command
 ** [out :: 23.20.223.139] Please login as the ec2-user user rather than root user.
 ** [out :: 23.20.223.139] 
    command finished in 11086ms
  * executing `rubber:setup_static_ips'
  * executing `rubber:setup_local_aliases'
 ** Writing out aliases into local machines /etc/hosts, sudo access needed
Password:
 ** Auto role: apache => production.foo.com, {:platform=>"linux"}
 ** Auto role: app => production.foo.com, {:platform=>"linux"}
 ** Auto role: passenger => production.foo.com, {:platform=>"linux"}
 ** Auto role: collectd => production.foo.com, {:platform=>"linux"}
 ** Auto role: common => production.foo.com, {:platform=>"linux"}
 ** Auto role: monit => production.foo.com, {:platform=>"linux"}
 ** Auto role: db => production.foo.com, {:primary=>true, :platform=>"linux"}
 ** Auto role: postgresql => production.foo.com, {:platform=>"linux"}
 ** Auto role: postgresql_master => production.foo.com, {:platform=>"linux"}
 ** Auto role: elasticsearch => production.foo.com, {:platform=>"linux"}
 ** Auto role: examples => production.foo.com, {:platform=>"linux"}
 ** Auto role: graphite_server => production.foo.com, {:platform=>"linux"}
 ** Auto role: graphite_web => production.foo.com, {:platform=>"linux"}
 ** Auto role: graylog_elasticsearch => production.foo.com, {:platform=>"linux"}
 ** Auto role: graylog_mongodb => production.foo.com, {:platform=>"linux"}
 ** Auto role: mongodb => production.foo.com, {:platform=>"linux"}
 ** Auto role: graylog_server => production.foo.com, {:platform=>"linux"}
 ** Auto role: graylog_web => production.foo.com, {:platform=>"linux"}
 ** Auto role: haproxy => production.foo.com, {:platform=>"linux"}
 ** Auto role: web => production.foo.com, {:platform=>"linux"}
 ** Auto role: web_tools => production.foo.com, {:platform=>"linux"}
  * executing `rubber:setup_remote_aliases'
    servers: ["production.foo.com"]
 ** sftp upload #<StringIO:0x0000010477db48> -> /tmp/setup_remote_aliases
4

2 に答える 2

0

正確な問題はわかりませんが、ゴムの使用にもこのような問題がありました。ラバーにデバッグ情報を追加すると非常に便利です。

あなたの場合、タスクが定義されている場所を見つけて、メッセージをログに記録するだけです。

grep -r setup_remote_aliases `bundle show rubber`

また、RailsアプリのデプロイをサポートするAmazon Elastic Beanstalkを試してみることもできます:https ://forums.aws.amazon.com/ann.jspa?annID = 1680

于 2012-11-10T20:36:31.217 に答える
0

UbuntuServerインスタンスは問題ありません。他のインスタンスに問題がある可能性があります。それを試してみてください。

于 2014-06-26T22:58:56.470 に答える