首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cap中止!rvm:部署期间检查中断(Cap3)

Cap中止!rvm:部署期间检查中断(Cap3)
EN

Stack Overflow用户
提问于 2014-04-11 16:22:18
回答 1查看 638关注 0票数 1

通过Capistrano 3部署rails应用程序(Rails -v 3.2.12)

代码语言:javascript
复制
$ bundle exec cap production deploy --trace

并面临以下几个问题:

代码语言:javascript
复制
** Invoke production (first_time)
** Execute production
** Invoke load:defaults (first_time)
** Execute load:defaults
** Invoke production (first_time)
** Invoke bundler:map_bins (first_time)
** Execute bundler:map_bins
** Invoke deploy (first_time)
** Invoke git:deploy (first_time)
** Execute git:deploy
** Execute deploy
** Invoke deploy:starting (first_time)
** Execute deploy:starting
** Invoke deploy:check (first_time)
** Execute deploy:check
** Invoke git:check (first_time)
** Invoke git:wrapper (first_time)
** Execute git:wrapper
INFO [87d2f4bf] Running /usr/bin/env mkdir -p /tmp/project/ on 111.111.111.111
DEBUG [87d2f4bf] Command: /usr/bin/env mkdir -p /tmp/project/
cap aborted!
Net::SSH::AuthenticationFailed: user
/usr/local/rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh.rb:215:in `start'
/usr/local/rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.3.0/lib/sshkit/backends/connection_pool.rb:25:in `create_or_reuse_connection'
/usr/local/rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.3.0/lib/sshkit/backends/netssh.rb:173:in `ssh'
/usr/local/rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.3.0/lib/sshkit/backends/netssh.rb:126:in `block in _execute'
/usr/local/rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.3.0/lib/sshkit/backends/netssh.rb:123:in `tap'
/usr/local/rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.3.0/lib/sshkit/backends/netssh.rb:123:in `_execute'
/usr/local/rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.3.0/lib/sshkit/backends/netssh.rb:66:in `execute'
/usr/local/rvm/gems/ruby-2.0.0-p247/gems/capistrano-3.1.0/lib/capistrano/tasks/git.rake:17:in `block (3 levels) in <top (required)>'
/usr/local/rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.3.0/lib/sshkit/backends/netssh.rb:54:in `instance_exec'
/usr/local/rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.3.0/lib/sshkit/backends/netssh.rb:54:in `run'
/usr/local/rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.3.0/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute'
Tasks: TOP => git:check => git:wrapper
The deploy has failed with an error: #<Net::SSH::AuthenticationFailed: user>
** Invoke deploy:failed (first_time)
** Execute deploy:failed

Capfile:

代码语言:javascript
复制
require 'capistrano/setup'
require 'capistrano/deploy'
#require 'capistrano/rvm'
require 'capistrano/bundler'
require 'capistrano/rails'

注:我注释掉了'capistrano/rvm‘。当它未被注释时,我将面临以下输出:

代码语言:javascript
复制
** Invoke production (first_time)
** Execute production
** Invoke load:defaults (first_time)
** Execute load:defaults
** Invoke rvm:hook (first_time)
** Execute rvm:hook
** Invoke rvm:check (first_time)
** Execute rvm:check
DEBUG [7410609e] Running /usr/local/rvm/bin/rvm version on 111.111.111.111
DEBUG [7410609e] Command: /usr/local/rvm/bin/rvm version
cap aborted!
Net::SSH::AuthenticationFailed: user

因此,两个版本都以错误结尾

以下是我的设置:

deploy.rb

代码语言:javascript
复制
set :repo_url, 'git@bitbucket.org:user/project.git'
set :application, 'project'
application = 'project'
set :rvm_type, :system
set :rvm_ruby_version, '2.0.0-p353'
set :deploy_to, '/var/www/apps/project'
set :user, 'user'
set :ssh_options, {
  #verbose: :debug,
  user: fetch(:user)
}

deploy/production.rb

代码语言:javascript
复制
server '111.111.111.111', user: 'user', roles: %w{web app db}, my_property: :my_value

set :ssh_options, { 
forward_agent: false,
}

那到底是怎么回事?请帮帮忙

EN

回答 1

Stack Overflow用户

发布于 2014-04-22 22:18:48

尝试在deploy/production.rb中提供更具体的设置,如下所示:

代码语言:javascript
复制
set :ssh_options, {
  user: 'user',
  keys:  [File.join(ENV["HOME"], ".ssh", "deploy_key")],
  forward_agent: false,
  paranoid: false,
  auth_methods: %w(publickey)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23007264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档