2016-06-16 16 views
1

私は自分のサーバーを持っている私が働いているサブプロジェクトの作業中に私の同僚のための概念の証明としてカプリストラをセットアップしようとしています。Capistranoのエラー - 無効なオプション:known_hosts

私はすべての設定を完了しており、初めてデプロイを実行する必要があります.SSH転送はすべて動作していますが、以前は見たことがないエラーが表示されます解決方法への参照:

[email protected] ~/Code/dashboard $ cap slimqa01 deploy --trace 
** Invoke slimqa01 (first_time) 
** Execute slimqa01 
** Invoke load:defaults (first_time) 
** Execute load:defaults 
** Invoke deploy (first_time) 
** 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 
00:00 git:wrapper 
     01 mkdir -p /tmp/dashboard-capistrano/ 
cap aborted! 
ArgumentError: invalid option(s): known_hosts 
/usr/lib/ruby/vendor_ruby/net/ssh.rb:194:in `start' 
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/connection_pool.rb:59:in `call' 
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/connection_pool.rb:59:in `with' 
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/netssh.rb:149:in `with_ssh' 
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/netssh.rb:102:in `execute_command' 
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/abstract.rb:141:in `block in create_command_and_execute' 
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/abstract.rb:141:in `tap' 
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/abstract.rb:141:in `create_command_and_execute' 
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/abstract.rb:74:in `execute' 
/var/lib/gems/2.3.0/gems/capistrano-3.5.0/lib/capistrano/tasks/git.rake:16:in `block (3 levels) in <top (required)>' 
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/abstract.rb:29:in `instance_exec' 
/var/lib/gems/2.3.0/gems/sshkit-1.11.0/lib/sshkit/backends/abstract.rb:29:in `run' 
/var/lib/gems/2.3.0/gems/sshkit-1.11.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: invalid option(s): known_hosts 
** Invoke deploy:failed (first_time) 
** Execute deploy:failed 

** DEPLOY FAILED 

だから私はカピストラーノは、オプションとしてknown_hostsファイルで何かを実行しようとしていると思うが、に対してそれを実行しようとしているものがオプションを認識しないので、展開が、その前に死にますサーバーに接続しようとしても、cap slimqa01 deployのenterを押すと直ちにエラーが発生します。

誰でも同様の問題がありましたか?以下

deploy.rb:

# config valid only for current version of Capistrano 
lock '3.5.0' 

set :application, 'dashboard-capistrano' 
set :repo_url, '[email protected]:private/repo.git' 

# Default branch is :master 
ask :branch, `git rev-parse --abbrev-ref HEAD`.chomp 

# Default deploy_to directory is /var/www/my_app_name 
set :deploy_to, '/var/www/dashboard-capistrano' 

# Default value for :scm is :git 
set :scm, :git 

# Default value for :format is :airbrussh. 
set :format, :airbrussh 

# You can configure the Airbrussh format using :format_options. 
# These are the defaults. 
set :format_options, command_output: true, log_file: 'log/capistrano.log', color: :auto, truncate: :auto 

# Default value for :pty is false 
# set :pty, true 

# Default value for :linked_files is [] 
# set :linked_files, fetch(:linked_files, []).push('config/database.yml', 'config/secrets.yml') 

# Default value for linked_dirs is [] 
# set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'public/system') 

# Default value for default_env is {} 
# set :default_env, { path: "/opt/ruby/bin:$PATH" } 

# Default value for keep_releases is 5 
set :keep_releases, 5 

set :ssh_options, { 
    verbose: :debug 
} 

task :whoami do 
    on roles(:web) do 
     execute :whoami 
    end 
end 

namespace :deploy do 

    after :restart, :clear_cache do 
     on roles(:web), in: :groups, limit: 3, wait: 10 do 
      # Here we can do anything such as: 
      # within release_path do 
      # execute :rake, 'cache:clear' 
      # end 
     end 
    end 

end 

また、私はあまりにも個々のタスクを実行する上でのエラーが表示されます。

[email protected] ~/Code/dashboard $ cap slimqa01 whoami 
00:00 whoami 
     01 whoami 
(Backtrace restricted to imported tasks) 
cap aborted! 
ArgumentError: invalid option(s): known_hosts 

Tasks: TOP => whoami 
(See full trace by running task with --trace) 
+0

あなたは 'deploy.rb'を投稿できますか? – patkoperwas

+0

@patkoperwas投稿者 –

+1

これは、 'net-ssh'のバージョンが使用されているのは非常に奇妙です。なぜなら、VALID_OPTIONSと':known_hosts'をチェックした行は現在のバージョンのVALID_OPTIONです。あなたのGemfileにこれを追加しようとすると、これはオプションとして追加されたようです。 ( 'gem net-ssh、> = 3.1" ') – engineersmnky

答えて

3

私は同じ問題がありました。
3.0.2から3.1.1へのnet-sshのアップデート後、動作しています。

gem update net-ssh

+0

言葉は私がこれに対してどれほど感謝しているかを表現することはできません。ジョークはさておき、どうもありがとう! –

関連する問題