Class: Dkdeploy::SCM::Copy

Inherits:
Capistrano::SCM::Plugin
  • Object
show all
Defined in:
lib/dkdeploy/scm/copy.rb

Overview

Class for the capistrano copy

Instance Method Summary collapse

Instance Method Details

#define_tasksObject



40
41
42
43
44
# File 'lib/dkdeploy/scm/copy.rb', line 40

def define_tasks
  # Don not use method "eval_rakefile" to load rake tasks.
  # "eval_rakefile" defined wrong context and use sskit dsl api instead of capistrano dsl.
  load File.expand_path('copy.rake', __dir__)
end

#register_hooksObject



34
35
36
37
38
# File 'lib/dkdeploy/scm/copy.rb', line 34

def register_hooks
  after 'deploy:new_release_path', 'copy:create_release'
  before 'deploy:check', 'copy:check'
  before 'deploy:set_current_revision', 'copy:set_current_revision'
end

#set_defaultsObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/dkdeploy/scm/copy.rb', line 15

def set_defaults
  set_if_empty :copy_source, 'htdocs'
  set_if_empty :copy_exclude, Array[
    'vendor/bundle/**',
    'Gemfile*',
    '**/.git',
    '**/.svn',
    '**/.DS_Store',
    '.settings',
    '.project',
    '.buildpath',
    'Capfile',
    'Thumbs.db',
    'composer.lock'
  ]
  set_if_empty :copy_archive_filename, -> { [fetch(:application), rand(0x100000000).to_s(36)].join('_') + '.tar.gz' }
  set_if_empty :copy_local_tmp_dir, Dir.mktmpdir
end