Проблемы с sudo при развертывании RVM с Capistrano - PullRequest
0 голосов
/ 29 марта 2012

Я хотел бы использовать Capistrano для развертывания моего приложения на моем сервере. У меня есть файл deploy.rb со следующим содержимым:

set :user, "deploy"
set :use_sudo, true
set :deploy_to, "/webapps/#{application}"
#set :deploy_via, :remote_cache #Using this option avoids to do a full repository clone


#RVM
set :rvm_type, :system  #System Wide installation
set :rvm_ruby_string, 'ree@K2'
set :rvm_install_shell, :bash

before 'deploy:setup','rvm:install_rvm'
before 'deploy:setup', 'rvm:install_ruby'

# if you're still using the script/reaper helper you will need
# these http://github.com/rails/irs_process_scripts

# If you are using Passenger mod_rails uncomment this:
namespace :deploy do
   task :start do ; end
   task :stop do ; end
   task :restart, :roles => :app, :except => { :no_release => true } do
     run "touch #{File.join(current_path,'tmp','restart.txt')}"
   end
 end

Все отлично работает, когда я устанавливаю пользователя root, устанавливает RVM (общесистемная установка) и даже Ruby Enterprise, но когда я запускаю 'cap deploy: setup' с настройкой параметра use_sudo и развертыванием пользователя, получаю следующее:

$ cap deploy:setup
  * executing `deploy:setup'
    triggering before callbacks for `deploy:setup'
  * executing `rvm:install_rvm'
  * executing "bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)"
    servers: ["myserver.com"]
Password: 
    [myserver.com] executing command
    [myserver.com] bash -c 'bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)'
*** [err :: myserver.com] bash: line 304: /usr/local/rvm/RELEASE: Permission denied
    command finished in 564ms
failed: "bash -c 'bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)'" on myserver.com

Что у меня естьсделать, чтобы сделать эту работу?Нужно ли настраивать некоторые параметры в файле sudoers?

Ответы [ 2 ]

2 голосов
/ 30 марта 2012

пожалуйста, проверьте с 1.1.0:

gem install rvm-capistrano
0 голосов
/ 29 марта 2012

На самом деле не нужно создавать нового пользователя. rvm создаст каталог в вашем домашнем каталоге: ~/.rvm и установит все внутри него. это означает, что у вас будут все правильные разрешения. не нужно запускаться с правами root, вам не нужно использовать sudo так что попробуй поменять

set :use_sudo, true

к этому:

set :use_sudo, false

и повторите

cap deploy:setup

...