Ich versuche, Capistrano als Proof of Concept für meine Kollegen bei der Arbeit an einem Teilprojekt, an dem ich arbeite, mit eigenen Servern einzurichten.Capistrano error - Ungültige Optionen: known_hosts
Ich habe alles konfiguriert und muss nur zum ersten Mal bereitstellen, die SSH-Weiterleitung funktioniert alles, etc ... aber ich bekomme einen Fehler, den ich nicht zuvor gesehen habe und nicht finden kann jede Bezugnahme auf, wie zu beheben:
[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
ich denke also, Capistrano versucht, etwas mit known_hosts als Option zu laufen, aber das, was es versucht, es zu laufen gegen die Option nicht erkennen und daher stirbt Einsatz, bevor es versucht sogar, den Server zu kontaktieren, der Fehler passiert fast sofort, sobald ich auf die cap slimqa01 deploy
drücken.
Jeder hatte ein ähnliches Problem?
deploy.rb unter:
# 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
Ich habe auch den Fehler auf nur einzelne Aufgaben laufen zu:
[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)
Können Sie Ihren 'deploy.rb' posten? – patkoperwas
@patkoperwas Posted only –
Das ist sehr merkwürdig, welche Version von 'net-ssh' verwendet wird, da die Zeile, in der die Überprüfung gegen VALID_OPTIONS und': known_hosts ausgelöst wurde, in der aktuellen Version ein VALID_OPTION ist. Es scheint, dass dies als eine Option in 3.1 hinzugefügt wurde. Versuche das zu deinem Gemfile hinzuzufügen? ('gem net-ssh,"> = 3.1 "') – engineersmnky