class Capistrano::SCM::CopyStrategy
Public Instance Methods
archive_to_release_path()
click to toggle source
# File lib/capistrano/scm/copy-strategy.rb, line 64 def archive_to_release_path backend.execute :mkdir, "-p", release_path backend.execute :tar, "-xf", "#{repo_path}/#{fetch(:archive_name)}", "-C", release_path backend.execute :rm, "#{repo_path}/#{fetch(:archive_name)}" end
check_repo_dir()
click to toggle source
# File lib/capistrano/scm/copy-strategy.rb, line 30 def check_repo_dir if !backend.test " [ -d #{repo_path} ] " backend.execute :mkdir, "-p", repo_path else backend.test :rm, "#{repo_path}/*" end end
check_server()
click to toggle source
# File lib/capistrano/scm/copy-strategy.rb, line 26 def check_server backend.test :tar, "--version" end
create_archive()
click to toggle source
# File lib/capistrano/scm/copy-strategy.rb, line 38 def create_archive archive_name = fetch(:archive_name) include_dir = fetch(:include_dir) exclude_dirs = Array(fetch(:exclude_dirs)) exclude_dirs.push(archive_name) temp_folder = fetch(:temp_folder) FileUtils.copy_entry include_dir, "#{temp_folder}/#{env.release_timestamp}" # sh "ls -al #{temp_folder}/#{env.release_timestamp}" exclude_dirs.map { |dir| FileUtils.rm_rf "#{temp_folder}/#{env.release_timestamp}/#{dir}" FileUtils.rm_rf Dir.glob("#{temp_folder}/#{env.release_timestamp}/#{dir}") } sh "ls -al #{temp_folder}/#{env.release_timestamp}" tar_verbose = fetch(:tar_verbose, true) ? "v" : "" cmd = ["tar", "-c#{tar_verbose}zf", archive_name, "-C #{temp_folder}/#{env.release_timestamp}", '.'] sh cmd.join(' ') return archive_name end
define_tasks()
click to toggle source
# File lib/capistrano/scm/copy-strategy.rb, line 22 def define_tasks eval_rakefile File.expand_path("../tasks/copy-strategy.rake", __FILE__) end
register_hooks()
click to toggle source
# File lib/capistrano/scm/copy-strategy.rb, line 17 def register_hooks after "deploy:new_release_path", "copy_strategy:create_release" before "deploy:check", "copy_strategy:check" end
set_defaults()
click to toggle source
# File lib/capistrano/scm/copy-strategy.rb, line 9 def set_defaults # Define any variables needed to configure the plugin. set_if_empty :include_dir, "." set_if_empty :archive_name, "#{env.release_timestamp}.tar.gz" set_if_empty :temp_folder, "#{Dir.tmpdir}" end