rvmsudo foreman 导出 upstart 而不要求输入密码

rvmsudo foreman 导出 upstart 而不要求输入密码

我的 capistranodeploy.rb有一个 foreman 导出命令,用于 Ubuntu 10.04 上的 rails 应用程序。因此,在部署时,我想将 foreman 导出到 upstart 脚本。但是执行此操作时,命令rvmsudo foreman export ...要求输入 root 密码,我什么也做不了。在 Google 上搜索了很多,并尝试了各种调整,但都不起作用。

 * executing `foreman:export'
 * executing "cd /home/deploy/zappy/releases/20111019175422 && rvmsudo foreman export upstart /etc/init -a zappy -u deploy -f ./Procfile.production -c worker=1 redis=1 -l /home/deploy/zappy/releases/20111019175422/log/foreman"
   servers: ["173.255.205.237"]
   [173.255.205.237] executing command
** [out :: 173.255.205.237] [sudo] password for deploy:

有什么解决方案可以实现无密码方式?

答案1

我遇到了同样的问题。这是我正在使用的 deploy.rb 文件中的片段。注意:我已修改/etc/sudoers以允许我的 deploy 用户运行sudo mv...命令

foreman_temp = "/tmp/#{application}-foreman"
run [
  "mkdir -p #{foreman_temp}",
  "cd #{release_path}",
  "/usr/local/rvm/gems/ruby-1.9.2-p290/bin/bundle exec foreman export upstart #{foreman_temp} -a #{application} -u #{user} -l #{shared_path}/log -f Procfile",
  "sudo mv #{foreman_temp}/#{application}*.conf /etc/init/",
  "rm -rf #{foreman_temp}"
].join('&&')

相关内容