如何使用Capistrano V3运行需要sudo的命令?

时间:2013-09-22 02:49:31

标签: shell capistrano sudo

我希望能够运行apt-get update,然后在运行上限设置时在我的所有服务器上安装一些新程序(tmux)以及apt-get升级但是由于明显缺乏关于文档的文档而无法解决sudo on v3。

sudo的v3发布页面上的问题让我感到难过。 http://www.capistranorb.com/2013/06/01/release-announcement.html

例如,以下是我认为sudo应该基于一些谷歌搜索工作的方式,但我一直被要求输入密码。

desc "Check that we can access everything"
task :setup do
  on roles(:web) do
    uptime = capture(:uptime)
    info "Uptime: #{uptime}"
    sudo "apt-get update"
  end
end

随着下面的响应我手动输入终端中的密码似乎根本没有做任何事情(没有错误,没有回应)。

DEBUG [e47a40c6] Finished in 4.646 seconds command successful.
DEBUG [e47a40c6]         05:37:52 up 14:36,  3 users,  load average: 0.00, 0.01, 0.05
DEBUG [e47a40c6] Finished in 4.646 seconds command successful.
 INFO Uptime: 05:37:52 up 14:36,  3 users,  load average: 0.00, 0.01, 0.05
 INFO [d194a520] Running /usr/bin/env sudo apt-get update on 192.168.1.126
DEBUG [d194a520] Command: /usr/bin/env sudo apt-get update
DEBUG [d194a520]        [sudo] password for deploy:

此外,是否有一个我没有看到哪个地方保存了已更新到v3的文档?

1 个答案:

答案 0 :(得分:12)

this page开始,使用带有capistrano 3的sudo的建议方法是设置无密码的sudo。