Я использую CentOS VPS и использую RVM и Capistrano для развертывания. для некоторых развертываний мне нужно использовать sudo, но когда я развертываю что-то вроде:
desc "Restart the application services"
task :restart, :roles => :app do
run "#{sudo} cd #{current_path} && bundle exec foreman export upstart"
end
Я получаю: sudo: bundle: command not found
. это происходит, даже если я запускаю его вручную через SSH. Я запускаю все это от имени пользователя без полномочий root с привилегиями sudo и корневой группой.
Мой файл sudoers выглядит так:
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
root ALL=(ALL) ALL
deploy ALL=(ALL) ALL
Я попытался изменить secure_path
на:
/usr/local/rvm/gems/ruby-1.9.3-p392/bin:/usr/local/rvm/gems/ruby-1.9.3-p392@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p392/bin:/usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rvm/bin:/root/bin
Это заставляет работать пакетную часть bundle exec
но теперь он говорит, что sudo: cd: command not found
Я не уверен, что делать в этот момент, кто-нибудь знает почему?