class Capistrano::BundleRsync::Config
Public Class Methods
build_ssh_command(host)
click to toggle source
Build ssh command options for rsync
First, search available user and keys configurations for each role:
role :app, ['hostname'], { user: username, keys: File.expand_path('~/.ssh/id_rsa'), port: 22, }
If not available, look :bundle_rsync_ssh_options:
set :bundle_rsync_ssh_options { user: username, keys: [File.expand_path('~/.ssh/id_rsa')], port: 22, }
If :bundle_rsync_ssh_options are not available also, look :ssh_options finally:
set :ssh_options { user: username, keys: [File.expand_path('~/.ssh/id_rsa')], port: 22, }
`keys` can be a string or an array. NOTE: :password is not supported.
# File lib/capistrano/bundle_rsync/config.rb, line 61 def self.build_ssh_command(host) user_opt, key_opt, port_opt = "", "", "" ssh_options = fetch(:bundle_rsync_ssh_options) || fetch(:ssh_options) || {} if user = host.user || ssh_options[:user] user_opt = " -l #{user}" end if keys = (host.keys.empty? ? ssh_options[:keys] : host.keys) keys = keys.is_a?(Array) ? keys : [keys] key_opt = keys.map {|key| " -i #{key}" }.join("") end if port = host.port || ssh_options[:port] port_opt = " -p #{port}" end "ssh#{user_opt}#{key_opt}#{port_opt}" end
bundle_install_standalone()
click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 96 def self.bundle_install_standalone fetch(:bundle_rsync_bundle_install_standalone) end
bundle_install_standalone_option()
click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 100 def self.bundle_install_standalone_option case value = self.bundle_install_standalone when true "--standalone" when Array "--standalone #{value.join(' ')}" when String "--standalone #{value}" else nil end end
bundle_without()
click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 113 def self.bundle_without fetch(:bundle_rsync_bundle_without) || [:development, :test] end
config_files()
click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 23 def self.config_files return nil unless config_files = fetch(:bundle_rsync_config_files) config_files.is_a?(Array) ? config_files : [config_files] end
keep_releases()
click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 77 def self.keep_releases @keep_releases = fetch(:bundle_rsync_keep_releases) || fetch(:keep_releases) end
local_base_path()
click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 3 def self.local_base_path @local_base_path ||= fetch(:bundle_rsync_local_base_path) || "#{Dir::pwd}/.local_repo" end
local_bundle_path()
click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 19 def self.local_bundle_path @local_bundle_path ||= fetch(:bundle_rsync_local_bundle_path) || "#{local_base_path}/bundle" end
local_mirror_path()
click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 7 def self.local_mirror_path @local_mirror_path ||= fetch(:bundle_rsync_local_mirror_path) || "#{local_base_path}/mirror" end
local_release_path()
click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 15 def self.local_release_path @local_release_path ||= fetch(:bundle_rsync_local_release_path) || "#{local_releases_path}/#{Time.new.strftime('%Y%m%d%H%M%S')}" end
local_releases_path()
click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 11 def self.local_releases_path @local_releases_path ||= fetch(:bundle_rsync_local_releases_path) || "#{local_base_path}/releases" end
max_parallels(hosts)
click to toggle source
Fetch the :bundle_rsync_max_parallels, where the default is the number of hosts
# File lib/capistrano/bundle_rsync/config.rb, line 83 def self.max_parallels(hosts) (fetch(:bundle_rsync_max_parallels) || hosts.size).to_i end
rsync_options()
click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 87 def self.rsync_options bwlimit = fetch(:bundle_rsync_rsync_bwlimit) ? " --bwlimit #{fetch(:bundle_rsync_rsync_bwlimit)}" : "" fetch(:bundle_rsync_rsync_options) || "-az --delete#{bwlimit}" end
skip_bundle()
click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 92 def self.skip_bundle fetch(:bundle_rsync_skip_bundle) end