我有 Capistrano 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>

根据capistrano API我可以使用这种方法上传文件,我还在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)
有帮助吗?

解决方案

看来该方法被称为 upload!: https://github.com/capistrano/sshkit/blob/master/EXAMPLES.md#upload-a-file-from-disk

您在哪里看到它记录得很糟糕,也许您可​​以向他们发送拉取请求来修复他们的文档?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top