我不希望将 sudo 用于通过 Capistrano 远程执行的任何命令。具体来说,当我运行时cap deploy:setup
,我在第一个mkdir
命令期间被要求输入我的 sudo 密码。我添加set :use_sudo, false
到了 deploy.rb 文件中,但这并没有什么不同。
我从一个相当完整的 deploy.rb 文件开始,但是一旦我开始遇到问题就将其缩减。这是我的最小版本,仍然use_sudo
没有得到尊重:
# App Definitions
set :domain, '[server-ip]'
role :app, domain
role :web, domain
role :db, domain, :primary => true
set :user, "my_app"
set :use_sudo, false
task :sudo_test do
run "#{try_sudo} whoami"
end
运行cap sudo_test
导致我被提示输入我的 sudo 密码。我在这里缺少什么(除了我已经拔掉的头发)?
谷歌调查结果
https://groups.google.com/forum/?fromgroups#!topic/capistrano/QNYnvW8obrg
与有类似问题的人的线程。线程中没有任何结论/解决方案。