Sha256: 199ef3fdd910b20d58ca440835309a6f233235ab2f4570bd5fcaab849f3f60d3
Contents?: true
Size: 1.55 KB
Versions: 16
Compression:
Stored size: 1.55 KB
Contents
module Chake class Backend class Ssh < Backend def scp ['scp', ssh_config, scp_options].flatten.compact end def scp_dest ssh_target + ':' end def rsync [ssh_prefix, 'rsync', rsync_ssh].flatten.compact end def rsync_dest [ssh_target, node.path + '/'].join(':') end def command_runner [ssh_prefix, 'ssh', ssh_config, ssh_options, ssh_target].flatten.compact end def shell_command command_runner end private def rsync_ssh @rsync_ssh ||= begin ssh_command = 'ssh' if File.exist?(ssh_config_file) ssh_command += ' -F ' + ssh_config_file end if node.port ssh_command += ' -p ' + node.port.to_s end if ssh_command == 'ssh' [] else ['-e', ssh_command] end end end def ssh_config File.exist?(ssh_config_file) && ['-F', ssh_config_file] || [] end def ssh_config_file @ssh_config_file ||= ENV.fetch('CHAKE_SSH_CONFIG', '.ssh_config') end def ssh_prefix @ssh_prefix ||= ENV.fetch('CHAKE_SSH_PREFIX', '').split end def ssh_target [node.remote_username, node.hostname].compact.join('@') end def ssh_options node.port && ['-p', node.port.to_s] || [] end def scp_options node.port && ['-P', node.port.to_s] || [] end end end end
Version data entries
16 entries across 16 versions & 1 rubygems