lserman / capistrano-elbas

Deploy Rails apps to AWS AutoScale groups
MIT License
96 stars 67 forks source link

No support for different instance sizes for different auto scale groups. #5

Closed stewartmacgregor closed 5 years ago

stewartmacgregor commented 8 years ago

This is a unique variable:

https://github.com/lserman/capistrano-elbas/blob/b6d34dec1752488a9b8d9d85c3032a92e92cc47a/lib/elbas/launch_configuration.rb#L36

I have to have two different staging/deployment scripts as a work around at the moment.

lserman commented 8 years ago

We manage our deployments in separate files, yes... (config/deploy/staging.rb and config/deploy/production.rb). Isn't that how capistrano is meant to be used? How are you using it?

stewartmacgregor commented 8 years ago

@lserman

We manage our deployments in separate files, yes... (config/deploy/staging.rb and config/deploy/production.rb).

We do the same for staging and production.

How are you using it?

The issue is that we have multiple servers running in production that are different instance types. Because you can only have one instance type per deploy script, this means we need multiple deploy scripts. And I have to run three different deploy commands in order to deploy to production (i.e. bundle exec cap p_1 deploy, bundle exec cap p_2 deploy, etc).

It'd be nice to consolidate these into one file, yet it's not a big deal.

lserman commented 5 years ago

AWS launch templates seem to support 1 instance size per launch template, and 1 launch template per ASG. I can see your use case but I no longer consider the management of instance sizes a responsibility of this gem. The new version relies on the launch template to define the attributes of each instance, a much better design in my opinion.