5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/armada/configuration.rb', line 5
def self.load!(project, environment, cli_options = {})
projects_dir = Dir.getwd()
config_file = "#{project}.rake"
if File.exists?(File.join(projects_dir, config_file))
Rake.load_rakefile File.join(File.join(projects_dir, config_file))
elsif File.exists?(config_file)
Rake.load_rakefile config_file
else
Armada.ui.error "Can't find '#{config_file}'!"
end
Object.send :include, Armada::DeployDSL
task = Rake::Task["environment:#{environment}"]
task.set_current_environment environment.to_sym
task.invoke
task_options = Thor::CoreExt::HashWithIndifferentAccess.new(env[environment.to_sym])
env_vars = task_options[:env_vars]
env_vars.merge!(cli_options[:env_vars]) if cli_options[:env_vars] options = task_options.merge(cli_options)
options[:env_vars] = env_vars
options[:tag] = 'latest' unless options[:tag]
options[:health_check_endpoint] = '/' unless options[:health_check_endpoint]
options[:dockercfg] = Armada::Docker::Config.load options[:dockercfg] if options[:dockercfg]
options
end
|