如何在capistrano中使用密码运行sudo命令

时间:2016-09-21 10:21:57

标签: ruby-on-rails capistrano3

我想通过Capistano运行我的Httpd服务重启,所以我为此编写了这段代码

namespace :deploy do
  task :restart do
    on roles(:app), in: :sequence, wait: 1 do
        within current_path do
          execute "service httpd restart"         
        end
    end
  end
end
after :deploy, 'deploy:restart'

但是当cap文件执行此行时,它会询问用户的密码,但我需要以root用户身份运行此命令。

请告诉我如何使用root用户执行此命令。

2 个答案:

答案 0 :(得分:1)

最好尝试使用sudoer用户,而不是将其添加到代码中以获取提示。

答案 1 :(得分:0)

Capistrano文档建议将此特定命令添加到passwordless-sudo:

http://capistranorb.com/documentation/getting-started/authentication-and-authorisation/#authorisation

然后你可以在没有提示输入密码的情况下调用sudo。