Class: Lolipop::Mc::Starter::Rails::CheckItem::SSH
- Defined in:
- lib/lolipop/mc/starter/rails/check_item/ssh.rb
Constant Summary
Constants inherited from Base
Base::NOCHECK, Base::SKIPCHECK
Instance Method Summary collapse
Methods inherited from Base
#desc, #dump_config, #initialize, #item_name, #load_config
Constructor Details
This class inherits a constructor from Lolipop::Mc::Starter::Rails::CheckItem::Base
Instance Method Details
#check ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/lolipop/mc/starter/rails/check_item/ssh.rb', line 7 def check config = load_config ssh_command = config['ssh'] if ssh_command != NOCHECK begin stdout = `#{ssh_command} hostname` rescue => e puts "SSHコマンドの実行に失敗しました。SSH接続の設定を確認してください #{e.message}" ssh_command = '' end end if [NOCHECK, ''].include?(ssh_command) prompt = TTY::Prompt.new(active_color: :cyan) ssh_command = prompt.ask('SSHコマンドを入力してください(マネージドクラウドのプロジェクト詳細に記載があります):') begin stdout = `#{ssh_command} hostname` rescue => e raise "SSHコマンドの実行に失敗しました。SSH接続の設定を確認してください #{e.message}" end end raise 'SSHコマンドの実行に失敗しました。入力したコマンドを確認してください' unless stdout.match(/^gitpush-ruby.+lolipop\.io/) config['ssh'] = ssh_command dump_config(config) "SSHコマンドの設定が完了しています [#{ssh_command}]" end |
#hint ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'lib/lolipop/mc/starter/rails/check_item/ssh.rb', line 35 def hint puts 'マネージドクラウドのプロジェクト詳細に `SSHコマンド` に記載があります' puts '例: `ssh -p 123456 [email protected]' puts '' puts 'もし `SSHコマンド` を入力してもSSHコマンドの実行失敗する場合は以下の点を確認してみてください' puts '- マネージドクラウドに公開鍵を設定しているか?' puts '- 秘密鍵を~/.ssh/に設置しているか?' puts '- ~/.ssh/config の設定をしているか?' end |