iCy*_*org 18 capistrano ruby-on-rails
这是我第一次部署和获取错误.
这是我的deploy.rb文件需要'bundler/capistrano'设置:应用程序,"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
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误.
*** [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
Run Code Online (Sandbox Code Playgroud)
编辑 - 我评论过"set:deploy_via,:remote_cache",现在正在收集包:找不到错误
Pet*_*son 19
好的似乎答案是(参见我对你的问题的评论):
在您的工作站和服务器上安装了最近的rvm(我有1.17.1).
加:
gem 'rvm-capistrano'
Run Code Online (Sandbox Code Playgroud)
到您的Gemfile(内部组:开发为capistrano gem)
加:
require "rvm/capistrano"
require "bundler/capistrano"
Run Code Online (Sandbox Code Playgroud)
到你的config/deploy.rb
应该这样做
小智 12
如果使用rbenv将其放在.bashrc中
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
Run Code Online (Sandbox Code Playgroud)
在以下行之前,即使连接非交互式shell,也要加载环境
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
Run Code Online (Sandbox Code Playgroud)
也可能也适用于rvm初始化
Vja*_*its 10
我遇到了同样的问题.以下是RBenv和RVM的解决方案.
RBENV
正确安装RBenv.安装bundler gem.Pefrorm'rbenv rehash'.
添加到deploy.rb或deploy/.rb
set :default_environment, { 'PATH' => '$HOME/.rbenv/shims:$HOME/.rbenv/bin:$PATH' }
Run Code Online (Sandbox Code Playgroud)
RVM
正确安装RVM.安装bundler gem.
gem 'rvm-capistrano'
Run Code Online (Sandbox Code Playgroud)
deloy.rb或deploy/.rb
require 'rvm/capistrano'
set :rvm_ruby_string, 'ruby-2.0.0-p247' # Change to your ruby version
set :rvm_type, :system # :user if RVM installed in $HOME
Run Code Online (Sandbox Code Playgroud)
有关更多配置信息,请阅读:https://github.com/wayneeseguin/rvm-capistrano
祝好运.
归档时间: |
|
查看次数: |
11056 次 |
最近记录: |