Rails橡胶部署超时

时间:2014-04-07 00:22:49

标签: ruby-on-rails postgresql amazon-ec2 passenger rubber

我正在尝试使用橡胶部署Amazon EC2实例。在跑步 cap rubber:create_staging我得到以下超时:

  * 2014-04-06 20:14:09 executing `rubber:postgresql:setup_apt_sources'
    servers: ["production.foo.com"]
 ** sftp upload #<StringIO:0x0000000420a748> -> /tmp/configure_postgresql_repository
    [production.foo.com] /tmp/configure_postgresql_repository
    [production.foo.com] done
  * sftp upload complete
  * executing "sudo -p 'sudo password: '  bash -l /tmp/configure_postgresql_repository"
    servers: ["production.foo.com"]
    [production.foo.com] executing command
    command finished in 1161ms
  * executing "sudo -p 'sudo password: '  bash -l -c 'apt-get -q update'"
    servers: ["production.foo.com"]
connection failed for: production.foo.com (Timeout::Error: execution expired)

我尝试将超时时间增加到60秒,但它没有奏效。 有什么建议吗?

1 个答案:

答案 0 :(得分:0)

看起来您使用Rubber / Capistrano连接到实例的用户没有passwordless sudo访问权限。尝试使用以下内容创建文件/etc/sudoers.d/90-user-you-use-for-rubber

user-you-user-for-rubber  ALL=(ALL) NOPASSWD:ALL