Ruby on rails Capistrano部署问题
我一直在与Capistrano搏斗,几天来我一直在尝试部署一个测试rails应用程序,我想我就快到了,但是当我运行Ruby on rails Capistrano部署问题,ruby-on-rails,ubuntu,deployment,rvm,capistrano,Ruby On Rails,Ubuntu,Deployment,Rvm,Capistrano,我一直在与Capistrano搏斗,几天来我一直在尝试部署一个测试rails应用程序,我想我就快到了,但是当我运行cap deploy时,我遇到了这个错误: failed: "rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell 'default' -c 'cd var/rails/test_app/current/releases/20120619215252 && bundle install --gemfile var/r
cap deploy
时,我遇到了这个错误:
failed: "rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell 'default' -c 'cd var/rails/test_app/current/releases/20120619215252 && bundle install --gemfile var/rails/test_app/current/releases/20120619215252/Gemfile --path var/rails/test_app/current/shared/bundle --deployment --quiet --without development test'" on my.vps.ip.address
这意味着什么?我如何解决这个问题
谢谢
这是我的deploy.rb文件,如果有帮助:
# RVM
$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
require "rvm/capistrano"
set :rvm_ruby_string, 'default'
set :rvm_type, :system
# Bundler
require "bundler/capistrano"
# General
set :application, "test_app"
set :user, "rails"
set :deploy_to, "var/rails/test_app/current"
set :deploy_via, :copy
set :use_sudo, false
# Git
set :scm, :git
set :repository, "~/Projects/test_app/.git"
set :branch, "master"
# VPS
role :web, "my.vps.ip.address"
role :app, "my.vps.ip.address"
role :db, "my.vps.ip.address", :primary => true
role :db, "my.vps.ip.address"
# Passenger
namespace :deploy do
task :start do ; end
task :stop do ; end
task :restart, :roles => :app, :except => { :no_release => true } do
run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
end
end
Capistrano正在尝试进入最新的部署文件夹并运行“bundle install”。 问题似乎是capistrano试图在其中执行以下操作的文件夹: 您正在执行
cd-var/rails/test\u-app/current/releases/20120619215252&&bundle-install…
路径开头缺少/,应该是/var/rails。。。
您应该在覆盖配方中某个位置的路径时出错
看看你的食谱,你应该有(注意/)
不要指定“当前”文件夹,这是capistrano默认行为。
确保/var/rails/test_app/由用于部署的用户拥有。其他:chown-R rails:rails/var/rails/test\u app/
rails:rails,因为您在配方中设置了:user,“rails”
另外,不要忘记
cap deploy:setup
来构建目录结构…@Julien\u p。我刚刚尝试了/var/
,但我认为这不是问题所在,因为我比以前更早地遇到这个错误:“rvm_path=/usr/local/rvm/usr/local/rvm/bin/rvm shell'default'-c'cd/var/rails/test_app/current/releases&&tar xzf/tmp/20120619221837.tar.gz&&rm/tmp/20120619221837.tar.gz”“
无论如何var/
是不正确的,我不确定您是否可以直接从git存储库复制deploy\u。此外,您的服务器上不存在/var/rails/test\u app/current/releases,请删除deploy文件夹目标的“当前”部分。与您的问题无关,自1.11.3起,RVM已将RVM/capistrano提取到gem,不再需要第一行。。。但是你应该得到一个警告——只需阅读输出。
set :deploy_to, "/var/rails/test_app/"