Задача загрузки Capistrano 3 вызывает ошибку

У меня есть задача капистрано 3

namespace :db do
  desc "serurely manages dbconn file after deploy"
  task :dbconfig do
    on roles(:web) do |host|
      upload("config/deploy/dbconn.template.php", "#{shared_path}/dbconn.php")
    end
  end
end

При запуске cap staging db:dbconfig я получаю сообщение об ошибке

   cap aborted!
   undefined method `upload' for #<SSHKit::Backend::Netssh:0x007ffe9a84b9f8>

Согласно API capistrano, я могу использовать этот метод для загрузки файлов, я также нашел его в исходном коде sshkit lib.

список драгоценных камней

*** LOCAL GEMS ***
bundler (1.3.5)
capistrano (3.0.1)
CFPropertyList (2.2.0)
i18n (0.6.5)
libxml-ruby (2.6.0)
net-scp (1.1.2)
net-ssh (2.7.0)
nokogiri (1.5.6)
rake (10.1.0)
sqlite3 (1.3.7)
sshkit (1.1.0)
term-ansicolor (1.2.2)
tins (0.13.1)

person antiplayer    schedule 16.11.2013    source источник


Ответы (1)


Похоже, метод называется upload!: https://github.com/capistrano/sshkit/blob/master/EXAMPLES.md#upload-a-file-from-disk

Где вы видели, что это плохо задокументировано, может быть, вы могли бы отправить им запрос на включение, чтобы исправить их документы?

person Lee Hambley    schedule 16.11.2013
comment
Спасибо, Ли. Так получилось, что метод надо вызывать как upload! быть призваны правильно, вы были правы. Однако у них есть гораздо более важные вещи для документирования. Спасибо за помощь - person antiplayer; 16.11.2013
comment
Я автор шапки/sshkit. Я всегда ценю PRS за документы и проблемы с тем, что вам нужно задокументировать. - person Lee Hambley; 17.11.2013
comment
Раньше он назывался upload в Capistrano 2, так что, возможно, это путаница. - person Petr Bela; 19.11.2014