I do not wish to use sudo for any of my remotely executed commands via Capistrano. Specifically, when I run cap deploy:setup
, I'm asked for my sudo password during the first mkdir
command. I added set :use_sudo, false
to my deploy.rb file, but this did not make a difference.
I started with a fairly complete deploy.rb file, but whittled it down once I started having issues. Here is my minimal version that still shows use_sudo
not being respected:
# 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
running cap sudo_test
results in me being prompted for my sudo password. What am I missing here (besides the hair I've already pulled out)?
Google Findings
https://groups.google.com/forum/?fromgroups#!topic/capistrano/QNYnvW8obrg
A thread with someone having a similar issue. No conclusion/resolution noted in the thread.
For anyone else who runs into this issue and is a fool like me. Make sure you arn't quoting false. I had:
set :use_sudo, "false"
and when I switched it to
set :use_sudo, false
most things started working the way I expected. As YWCA Hello points out there are still commands that ignore the use_sudo setting. However, don't forget to set it correctly.