Non voglio usare sudo per nessuno dei miei comandi eseguiti in remoto via Capistrano. Nello specifico, quando eseguo cap deploy:setup
, viene richiesta la mia password sudo durante il primo comando mkdir
. Ho aggiunto set :use_sudo, false
al mio file deploy.rb, ma questo non ha fatto la differenza.Capistrano usando sudo anche con "set: use_sudo, false"
Ho iniziato con un file deploy.rb abbastanza completo, ma l'ho ridotto quando ho iniziato ad avere problemi. Ecco la mia versione minimale che dimostra ancora use_sudo
non essere rispettati:
# 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
esecuzione cap sudo_test
risultati in mi venga richiesto per la password sudo. Cosa mi manca qui (oltre ai capelli che ho già tirato fuori)?
Google risultati
https://groups.google.com/forum/?fromgroups#!topic/capistrano/QNYnvW8obrg
un thread con qualcuno che ha un problema simile. Nessuna conclusione/risoluzione annotata nella discussione.
cos'è il bit '# {try_sudo}'? cosa succede se lo estrai? – sbeam
'# {try_sudo}' dovrebbe _sudoize_ il comando se ': use_sudo' è impostato su' false'. Lo includo in 'sudo_test' perché probabilmente anche le attività di rotaia di capistrano lo usano, ed è probabile che il problema derivi da lì. –
Utilizziamo 'sudo -i' nel nostro file deploy.rb. –
yeowzir