10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/r10k/cli/module/deploy.rb', line 10
def self.command
@cmd ||= Cri::Command.define do
name 'deploy'
usage 'deploy [module name] <module name> ...'
summary 'Deploy a module'
flag :u, :update, "Update module cache"
run do |opts, args, cmd|
unless (module_name = args[0])
puts cmd.help
exit 1
end
env_list = R10K::Deployment.instance.environments
if opts[:environment]
environments = env_list.select {|env| env.name == opts[:environment]}
else
environments = env_list
end
environments.each do |env|
mods = env.modules.select { |mod| mod.name == module_name }
if mods.empty?
logger.warn "No modules with name #{module_name} matched in environment #{env.name.inspect}".red
end
stack = Middleware::Builder.new
mods.each { |mod| stack.use R10K::Action::Module::Deploy, mod }
stack_env = {
:update_cache => opts[:update],
:trace => opts[:trace],
}
stack.call(stack_env)
end
end
end
end
|