我需要在Capistrano中指定RVM以将Sinatra项目部署到远程服务器
我有以下内容 decloy.rb
lock '3.4.0'
set :application, 'sudoku'
set :repo_url, 'git@github.com:user/name-project.git'
set :deploy_to, '/home/deploy/name-project'
set :linked_dirs, %w{ log }
namespace :deploy do
desc 'Restart application'
task :restart do
on roles(:app), in: :sequence, wait: 5 do
execute :touch, release_path.join('tmp/restart.txt')
end
end
after :publishing, 'deploy:restart'
after :finishing, 'deploy:cleanup'
end
这是远程服务器上RVM的信息
deploy@ubuntu-512mb-fra1-01:~$ rvm info
ruby-2.3.1:
homes:
gem: "/home/deploy/.rvm/gems/ruby-2.3.1"
ruby: "/home/deploy/.rvm/rubies/ruby-2.3.1"
environment:
PATH: "/home/deploy/.rvm/gems/ruby-2.3.1/bin:/home/deploy/.rvm/gems/ruby-2.3.1@global/bin:/home/deploy/.rvm/rubies/ruby-2.3.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/deploy/.rvm/bin:/home/deploy/.rvm/bin"
GEM_HOME: "/home/deploy/.rvm/gems/ruby-2.3.1"
GEM_PATH: "/home/deploy/.rvm/gems/ruby-2.3.1:/home/deploy/.rvm/gems/ruby-2.3.1@global"
MY_RUBY_HOME: "/home/deploy/.rvm/rubies/ruby-2.3.1"
IRBRC: "/home/deploy/.rvm/rubies/ruby-2.3.1/.irbrc"
RUBYOPT: ""
gemset: ""
我在deploy.rb中添加了用于设置RVM的deploy.rb?谢谢
他们有一个宝石:https://github.com/capistrano/rvm
遵循安装说明,然后相应地配置Capistrano:
# deploy.rb or stage file (staging.rb, production.rb or else)
set :rvm_type, :user # Defaults to: :auto
set :rvm_ruby_version, '2.0.0-p247' # Defaults to: 'default'
set :rvm_custom_path, '~/.myveryownrvm' # only needed if not detected