新手问题 capistrano3 远程部署问题

luliangshu · 2014年05月06日 · 最后由 luliangshu 回复于 2014年05月06日 · 3175 次阅读

在本地用 VirtualBox 搭了 ubuntu 然后测试用 capistrano3 部署 设置成下面这样。

/* Gem */
gem 'capistrano-rails', group: :development
/* deploy.rb */
set :application, "my-blog"
set :deploy_user, 'XXX'

set :scm, :git
set :repo_url,  "[email protected]:XXX/XXX.git"
set :deploy_to, "/home/my-blog"
set :branch, "master"
set :linked_files, %w{config/database.yml config/config.yml}
set :linked_dirs, %w{bin log tmp vendor/bundle public/system}
/* deploy/production.rb */
server '192.168.1.81',
  user: 'lu',
  roles: %w{web app},
  ssh_options: {
    user: 'lu', # overrides user setting above
    keys: %w(/home/user_name/.ssh/id_rsa),
    forward_agent: false,
    auth_methods: %w(publickey password)
    # password: 'please use keys'
  }
/* Capfile */
require 'capistrano/setup'
require 'capistrano/deploy'
require 'capistrano/bundler'
require 'capistrano/rails/assets'
require 'capistrano/rails/migrations'

Dir.glob('lib/capistrano/tasks/*.cap').each { |r| import r }

报这样的错

  INFO [154ddadf] Running /usr/bin/env mkdir -pv /home/my-blog/shared /home/my-blog/releases on 192.168.1.81
DEBUG [154ddadf] Command: /usr/bin/env mkdir -pv /home/my-blog/shared /home/my-blog/releases
cap aborted!
SSHKit::Command::Failed: mkdir exit status: 1
mkdir stdout: Nothing written
mkdir stderr: Nothing written
/Users/luliangshu/.rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.4.0/lib/sshkit/command.rb:98:in `exit_status='

你的 repo_url 等等都没设置呢 - - 还是你故意隐藏掉了?

@hging repo_url 设置了啊 我把账号和项目名称匿了

#2 楼 @luliangshu http://ruby-china.org/topics/17425 找了这篇文章。你可以把里面使用 puma 的地方给去掉。然后尝试下。

@hging 额 看过了 就是差不多按着他来的。。。

server 'xxx.com', user: 'xxx', password: '...', roles: %w{web app db} 试一下用这个去配置 production.rb,如果用 ssh 的可能和 net-ssh v 2.8.0 有关吧?

@benyu 已经改成这样了 还是报那个错误。。

权限确定没问题? 在 cap deploy 加一个 --trace 可能更清楚错哪里!

@benyu ...果然是权限问题 非常感谢。。。

@benyu 好吧,还有新问题....

Running ~/.rvm/bin/rvm default do bundle install --binstubs /home/my-blog/shared/bin --path /home/my-blog/shared/bundle --without development test --deployment --quiet on 192.168.1.81
cap aborted!
SSHKit::Command::Failed: bundle exit status: 5
bundle stdout: Nothing written
bundle stderr: Nothing written
需要 登录 后方可回复, 如果你还没有账号请 注册新账号