510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
|
# File 'lib/wrapbox/runner/ecs.rb', line 510
def run_cmd(*args)
repo = Wrapbox::ConfigRepository.new.tap { |r| r.load_yaml(options[:config]) }
config = repo.get(options[:config_name])
config.runner = :ecs
runner = config.build_runner
environments = options[:environments].to_s.split(/,\s*/).map { |kv| kv.split("=") }.map do |k, v|
{name: k, value: v}
end
run_options = {
cluster: options[:cluster],
task_role_arn: options[:task_role_arn],
timeout: options[:timeout],
launch_timeout: options[:launch_timeout],
launch_retry: options[:launch_retry],
execution_retry: options[:execution_retry],
max_retry_interval: options[:max_retry_interval],
ignore_signal: options[:ignore_signal],
}.reject { |_, v| v.nil? }
if options[:cpu] || options[:memory]
container_definition_overrides = {cpu: options[:cpu], memory: options[:memory]}.reject { |_, v| v.nil? }
else
container_definition_overrides = {}
end
unless runner.run_cmd(args, environments: environments, container_definition_overrides: container_definition_overrides, **run_options)
exit 1
end
end
|