【问题标题】:Rails Rubber deployment timeoutRails Rubber 部署超时
【发布时间】:2014-04-07 00:22:48
【问题描述】:

我正在尝试使用橡胶部署 Amazon EC2 实例。正在运行 橡胶帽: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 秒,但没有奏效。 有什么建议吗?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 好吧,'apt-get -q update' 命令在尝试安装 postgresql 之前就可以工作了。事实上,如果我将“configure_postgresql_repository”文件设为空白,安装会继续,但稍后会失败并出现同样的超时错误。
    • /tmp/configure_postgresql_repository具体在做什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    相关资源
    最近更新 更多