18

デプロイしてエラーが発生するのはこれが初めてです。

これが私の deploy.rb ファイルです require 'bundler/capistrano' set :application, "app"

set :scm, :git
set :repository,  "git@github.com:myname/#{application}.git"
set :branch, "master"

server "198.12.78.92", :web, :app, :db, primary: true
set :user, "myname"
set :deploy_to, "/home/#{user}/public_html/#{application}"
set :deploy_via, :remote_cache
set :use_sudo, false

default_run_options[:pty] = true
ssh_options[:forward_agent] = true

 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

これが私が得ているエラーです。

*** [deploy:update_code] rolling back
  * executing "rm -rf /home/myname/public_html/app/releases/20130313073408; true"
    servers: ["198.12.78.92"]
    [198.12.78.92] executing command
    command finished in 891ms
failed: "sh -c 'cp -RPp /home/myname/public_html/app/shared/cached-copy /home/myname/public_html/app/releases/20130313073408 && (echo dd92017bc8bb7f951df52d6a14c933e3033fd24b > /home/myname/public_html/app/releases/20130313073408/REVISION)'" on 198.12.78.92

編集 - 「set :deploy_via, :remote_cache」とコメントしましたが、今は bundle: not found エラーが発生します

4

3 に答える 3

19

OK答えは次のようです(あなたの質問に対する私のコメントを参照してください):

ワークステーションとサーバーの両方に最近のrvmをインストールしてください(私は1.17.1を持っています)。

追加:

gem 'rvm-capistrano'

あなたの Gemfile に (グループ内 :capistrano gem としての開発)

追加:

require "rvm/capistrano"
require "bundler/capistrano"

config/deploy.rb に

それはそれを行う必要があります

于 2013-03-22T13:14:53.447 に答える
12

rbenv を使用している場合は、これを .bashrc に入れます

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

次の行の前に、非対話型シェルに接続している場合でも、カピストラーノが環境をロードします

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

おそらくrvmの初期化でも動作します

于 2013-05-26T19:38:35.267 に答える