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
|
# File 'lib/broadside/ecs/ecs_deploy.rb', line 26
def bootstrap
if EcsManager.get_latest_task_definition_arn(family)
info "Task definition for #{family} already exists."
else
raise ConfigurationError, "No :task_definition_config for #{family}" unless @target.task_definition_config
raise ConfigurationError, 'Bootstrapping a task_definition requires a :tag for the image' unless @tag
info "Creating an initial task definition for '#{family}' from the config..."
EcsManager.ecs.register_task_definition(
@target.task_definition_config.merge(
family: family,
container_definitions: [DEFAULT_CONTAINER_DEFINITION.merge(configured_container_definition)]
)
)
end
run_commands(@target.bootstrap_commands, started_by: 'bootstrap')
if EcsManager.service_exists?(cluster, family)
info("Service for #{family} already exists.")
else
raise ConfigurationError, "No :service_config for #{family}" unless @target.service_config
info "Service '#{family}' doesn't exist, creating..."
EcsManager.create_service(cluster, family, @target.service_config)
end
end
|