简体   繁体   中英

Rails Rubber deployment timeout

I am trying to deploy an Amazon EC2 instance using rubber. On running cap rubber:create_staging I get the following timeout:

  * 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)

I tried increasing the timeout to 60 seconds, but it didn't work. Any suggestions?

Looks like the user you are using to connect with to the instance using Rubber/Capistrano doesn't have passwordless sudo access. Try creating the file /etc/sudoers.d/90-user-you-use-for-rubber with the following content:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM