首先请允许我说这是我第一次部署rails应用程序,所以我对此很陌生。我的生产环境现在已成功运行并使用Capistrano进行部署,但由于缺少宝石,部署首次失败。为了解决它,我基本上克隆了我在服务器上的repo,运行
bundle install
这次成功安装了宝石,Capistrano下次成功部署。
考虑到这一点,是否有正确的方法可以在每次部署时安装新宝石?
我的环境是Ubuntu Server,Apache2,Passenger,Rails。
谢谢!
答案 0 :(得分:0)
将它添加到config / deploy.rb文件的顶部将使Capistrano执行bundle install。
要求“bundler / capistrano”
答案 1 :(得分:0)
我们的deploy.rb
中有以下内容require 'bundler/capistrano'
load 'deploy/assets'
before 'deploy', 'rvm:install_rvm'
ssh_options[:forward_agent] = true
set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"") # Read from local system
require 'rvm/capistrano'
set :rvm_ruby_string, '1.9.3-p194'
...
对我们来说就像是一种享受,虽然通常在新版本中我们必须直接在服务器上安装一些宝石。