0

私はCapistranoと格闘していて、テストレールアプリを数日間デプロイしようとしています。もうすぐそこにいると思いますが、実行するとこのエラーが発生します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
4

1 に答える 1

2

Capistranoは、最新の展開フォルダーに移動して「バンドルインストール」を実行しようとしています。問題は、capistranoがこれを行おうとしているフォルダのようです:cd var/rails/test_app/current/releases/20120619215252 && bundle install ... パスの先頭にA /がありません。これは、/ var/railsである必要があります...パスのどこかでオーバーライドするのを間違えたはずです。レシピ。

あなたが持っているべきあなたのレシピを見てください(/に注意してください)

set :deploy_to, "/var/rails/test_app/"

「現在の」フォルダを指定しないでください。これはcapistranoのデフォルトの動作です。/ var / rails /test_app/がデプロイメントに使用されたユーザーによって所有されていることを確認してください。それ以外の場合:chown -R rails:rails /var/rails/test_app/ rails:rails、set :user, "rails"レシピに含まれているため。

cap deploy:setupまた、ディレクトリ構造を構築することを忘れないでください...

于 2012-06-19T22:13:41.250 に答える