Class: Dply::Cli::Deploy

Inherits:
Object
  • Object
show all
Includes:
Logger
Defined in:
lib/dply/cli/deploy.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Logger

#debug?, #logger, stderr, #stderr

Constructor Details

#initialize(argv) ⇒ Deploy

Returns a new instance of Deploy.



14
15
16
# File 'lib/dply/cli/deploy.rb', line 14

def initialize(argv)
  @argv = argv
end

Instance Attribute Details

#argvObject (readonly)

Returns the value of attribute argv.



12
13
14
# File 'lib/dply/cli/deploy.rb', line 12

def argv
  @argv
end

Instance Method Details

#configObject



32
33
34
# File 'lib/dply/cli/deploy.rb', line 32

def config
 @config ||= Config.new.to_struct 
end

#lockObject



28
29
30
# File 'lib/dply/cli/deploy.rb', line 28

def lock
  @lock ||= Lock.new
end

#optionsObject



72
73
74
# File 'lib/dply/cli/deploy.rb', line 72

def options
  @options ||= {}
end

#optsObject



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/dply/cli/deploy.rb', line 36

def opts
  OptionParser.new do |opts|

    opts.banner = "Usage: dply deploy [options] [target]"
    
    opts.on("-b", "--branch [BRANCH]" , "Specify git branch") do |b|
      config.branch = b
    end

    opts.on("-r", "--revision [REVISION]", "Specify build revision (only used in archive strategy)") do |r|
      config.revision = r
    end

    opts.on("--no-pull", "Enable/disable git pull") do |e|
      options[:no_pull] = true
    end

    opts.on("--skip-git", "Disable git") do |e|
      options[:skip_git] = true
    end  
    
    opts.on("--skip-bundler", "Skip bundle install") do |e|
      options[:skip_bundler] = true
    end

    opts.on("--use-yum", "use yum to install packages") do |e|
      options[:use_yum] = true
    end

    opts.on("-h", "--help", "Help") do
      puts opts
      exit
    end
  end
end

#runObject



18
19
20
21
22
# File 'lib/dply/cli/deploy.rb', line 18

def run
  lock.acquire
  opts.parse!(argv)
  strategy.deploy
end

#strategyObject



24
25
26
# File 'lib/dply/cli/deploy.rb', line 24

def strategy
  @strategy ||= Strategy.load(config, options)
end