2017-10-06 100 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