Command line application to deploy and manage webapps on Amazon Web Services.
<img src=“https://travis-ci.org/myfreecomm/myfc_cloud.png?branch=master” alt=“Build Status” /> <img src=“https://coveralls.io/repos/myfreecomm/myfc_cloud/badge.png?branch=master” alt=“Coverage Status” /> <img src=“https://codeclimate.com/github/myfreecomm/myfc_cloud.png” alt=“Code Climate Status” />
RDoc documentation: rubydoc.info/github/myfreecomm/myfc_cloud
$ gem install myfc_cloud
$ myfc_cloud help NAME myfc_cloud - Command line application to deploy and manage webapps on Amazon Web Services SYNOPSIS myfc_cloud [global options] command [command options] [arguments...] VERSION 0.0.1 GLOBAL OPTIONS -C, --config_file=PATH_TO_CONFIG_FILE - Path to the configuration file (default: ~/.myfc_cloud.yml) -P, --production - Targets the production environment -S, --sandbox - Targets the sandbox environment (default) -T, --stage - Targets the stage environment --help - Show this message --version - COMMANDS check - Checks if all required configuration is properly set and all requirements are met deploy - Deploys your application to the selected environment help - Shows a list of commands or help for one command scaling_group:check - Checks if all instances are InService AND Healthy on your ASG scaling_group:freeze - 'Freezes' your ASG scaling_group:info - Lists information about your Auto Scaling Group scaling_group:update - Updates some attributes of your ASG
myfc_cloud
expects a YAML configuration file with your AWS settings, keyed by environment, like this:
production: access_key_id: production_access_key_id secret_access_key: production_secret_access_key auto_scaling_group_name: production_asg elastic_load_balancer_name: production_elb rds_instance_identifier: production_rds app_path_on_server: /path/to/production/app/src sandbox: access_key_id: sandbox_access_key_id secret_access_key: sandbox_secret_access_key auto_scaling_group_name: sandbox_asg elastic_load_balancer_name: sandbox_elb rds_instance_identifier: sandbox_rds app_path_on_server: /path/to/sandbox/app/src stage: access_key_id: stage_access_key_id secret_access_key: stage_secret_access_key auto_scaling_group_name: stage_asg elastic_load_balancer_name: stage_elb rds_instance_identifier: stage_rds app_path_on_server: /path/to/stage/app/src
Optionally, you can leave out the access_key_id
and secret_access_key
information from the configuration file, and supply them as environment variables when you call the myfc_cloud
command, for example:
$ MYFC_CLOUD_ACCESS_KEY_ID=some-id MYFC_CLOUD_SECRET_ACCESS_KEY=some-secret myfc_cloud deploy