簡體   English   中英

Capistrano部署到無所事事的盒子無法通過身份驗證

[英]Capistrano Deploying to vagrant box fails to authenticate

我正在嘗試將安裝程序升級到v3,並且遇到調試時遇到問題。 我使用無業游民來測試我的小型應用程序的暫存環境。 這是我的config/deploy/staging.rb文件的樣子:

set :user, "vagrant"
set :stage, :staging
set :ssh_options, {
 keys: %w(~/.vagrant.d/insecure_private_key),
 forward_agent: true
}
role :all, "192.168.33.101", primary: true

set :domain_name, "domain.local"

這是我的deploy:setup命令,用於測試:

namespace :deploy do

  desc 'Setup the application (NO-OP Hook)'
  task :setup do
    on roles(:app) do
      execute :echo, :uptime
    end
  end

end

嘗試做任何事情時,甚至只是獲得uptime ,這都是我得到的錯誤:

$ cap staging deploy:setup --trace
** Invoke staging (first_time)
** Execute staging
** Invoke load:defaults (first_time)
** Execute load:defaults
** Invoke deploy:setup (first_time)
** Execute deploy:setup
 INFO [5cf8fd6d] Running /usr/bin/env echo uptime on 192.168.33.101
 cap aborted!
 Net::SSH::AuthenticationFailed
 /Users/mbridges/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/net-ssh-2.7.0/lib/net/ssh.rb:215:in `start'
 /Users/mbridges/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:156:in `ssh'
 /Users/mbridges/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:109:in `block in _execute'
 /Users/mbridges/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:106:in `tap'
 /Users/mbridges/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:106:in `_execute'
 /Users/mbridges/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:54:in `execute'
 /Users/mbridges/code/github.com/mattdbridges/cornerstone/config/deploy.rb:24:in `block (3 levels) in <top (required)>'
 /Users/mbridges/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:42:in `instance_exec'
 /Users/mbridges/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:42:in `run'
 /Users/mbridges/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/sshkit-1.0.0/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute'
 Tasks: TOP => deploy:setup

升級之前,我能夠通過身份驗證。 有任何想法嗎?

事實證明,這與Vagrant IP地址和端口配置有關。

一個簡單的變化

# Old
role :all, "192.168.33.101", primary: true

# New
server "vagrant@localhost:2222", roles: %w[web app db], primary: true

至少對於我來說,這解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM