2016-07-14 5 views
0

Vorwort mit der Aussage, dass ich neu in Capistrano bin. Davon abgesehen, habe ich eine funktionierende App, mit der ich Capistrano schon mehrmals eingesetzt habe. Ich habe mehrere Updates für die App durchgeführt und versucht, cap production deploy. Ich habe diese Fehlermeldung ausgegeben:Capistrano Deployment Failure - SSH-Kit?

** 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/dentalimager/ 
cap aborted! 
ArgumentError: wrong number of arguments (0 for 1) 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/capistrano-3.5.0/lib/capistrano/dsl/env.rb:16:in `any?' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/host.rb:84:in `block in netssh_options' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/host.rb:83:in `tap' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/host.rb:83:in `netssh_options' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/capistrano-3.5.0/lib/capistrano/configuration/server.rb:59:in `netssh_options' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/backends/netssh.rb:159:in `with_ssh' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/backends/netssh.rb:108:in `execute_command' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/backends/abstract.rb:141:in `block in create_command_and_execute' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/backends/abstract.rb:141:in `tap' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/backends/abstract.rb:141:in `create_command_and_execute' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/backends/abstract.rb:74:in `execute' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/capistrano-3.5.0/lib/capistrano/tasks/git.rake:16:in `block (3 levels) in <top (required)>' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/backends/abstract.rb:29:in `instance_exec' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/backends/abstract.rb:29:in `run' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/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: wrong number of arguments (0 for 1) 
** Invoke deploy:failed (first_time) 
** Execute deploy:failed 

Es sah für mich aus als ob es ein Problem zwischen Capistrano und SSHkit gab. Ich schaute zurück auf meine Gemfile, die nach einer bundle update, dass SSHkit ging von v 1.10.0 nach v 1.11.1 nach meinem Git Repo zeigte.

Könnte ein Update im sshkit-Juwel dieses Problem verursachen oder sollte ich woanders hinsehen? Wenn ja, wie würde ich zu 1.10.0 zurückkehren und diese bestimmte Version in meinem Gemfile angeben, um zukünftige Probleme zu vermeiden?

Antwort

0

Ja, dies könnte ein Fehler sein, der von SSHKit 1.11.1 eingeführt wurde.

Zuerst schlage ich vor, ein Problem auf GitHub zu öffnen, um dieses Problem an das SSHKit-Team zu melden. Das ist der schnellste Weg, um das zu erreichen.

https://github.com/capistrano/sshkit/issues

In der Zwischenzeit die ältere Version von SSHKit zu verwenden und dieses Problem zu vermeiden, können Sie Ihre Gemfile verwenden, um "pin" auf die ältere Version. Fügen Sie diese auf Ihre Gemfile:

# Place this next to gem "capistrano", i.e. in the :development group 
gem "sshkit", "1.10.0" 

Dann

laufen
bundle update sshkit 
+0

Vielen Dank für Ihren Vorschlag @ Matt - ich wie vorgeschlagen haben, aber anscheinend immer noch die gleichen Fehler haben. Ich schaute auf meine Unterschiede zurück und es scheint, dass Capistrano-Schienen auch von 1.1.6 bis 1.1.7 aktualisiert wurden. Da das Ändern von SSHkit nicht zu helfen scheint, werde ich versuchen, ein Problem auf Capistrano/rails zu lösen – PSCampbell

Verwandte Themen