2017-10-06 73 views
0

刚刚升级到最新Capistrano的和我的轨道部署是所有印刷这样的警告 -Capistrano的净:: SSH.start自嘲watning

/home/vivek/.rvm/gems/ruby-2.4.1/gems/sshkit-1.14.0/lib/sshkit/backends/connection_pool.rb:59:in `call': Passing nil, or [nil] to Net::SSH.start is deprecated for keys: user 

一切似乎是工作。

我从3.5.0升级到当前版本(3.91。)。有什么需要在deploy.rb中进行更改?

回答

2

在例如config/deploy/production.rb,请确保显式设置用户名。我的猜测是你没有指定,因此警告。

例如:

server "example.com", user: "deploy", roles: %w[app web] 

可以测试的用户名是由运行接受:

$ cap production doctor:servers 

Servers (1) 

    [email protected] [:app, :web] 

每个服务器的用户名还可以经由全球覆盖:ssh_options。如果您设置了:ssh_options,请确保这些选项不包含像user: nil之类的内容。

您可以通过运行检查的:ssh_options值:

$ cap production doctor:variables 
+0

我有一个用户在我所有的我的部署文件设置 - 服务器“xxx.xxx.com”,用户:“部署”,角色: :web,:app],primary:true - 仍然给我警告 – subbu

+0

@subbu你在任何地方设置':ssh_options'吗? '帽生产医生:变量'可以在这里有所帮助。 –

+0

我发现这个':ssh_options {:forward_agent => true,:user => nil,:keys => [“〜/ .ssh/id_rsa”]}' - 我评论说,它似乎已经摆脱了警告。我想这是一些代码留下的不需要的代码 - 从来没有造成任何问题,所以我猜它从未被删除。非常感谢! :) – subbu