Deploy AWS
Deploy AWS is a gem for deploying your application code to AWS. Currently, covered deployment usage scenarios are: AWS Elastic Beanstalk applications (via AWS EB CLI) AWS S3 hosted web sites (via npm bundle)
Installation
For multiple application usage, install the gem directly:
gem install deploy_aws
And then execute:
deploy
Configuration
The gem assumes that your shell includes AWS access keys and region configured. The gem makes certain assumptions about your S3 folder hierarchy, if S3 is the deployment target./ Specifically, it expects to find a bucket containing folders that map to your deployable applications. The application that is to be deployed is then expected to be found in the same named top level S3 bucket.
ElasticBeanstalk applications are deployed directly if detected, and this configuration is not required.
Example: your S3 bucket named configs-all
contains your application configurations.
The applications themselves are in S3 buckets.
Then, if you have a static hosted S3 site in the bucket my-site
,
you'd expect to have a configuration collection in S3 like this:
configs-all/my-site/config/1.0/somesetting.yml
configs-all/my-site/config/2.0/somesetting.yml
Then, the deployment process will ask you to choose to deploy my-site
, and the configuration version to be deployed. It will then attempt to find an S3 bucket with the name my-site
.
Usage
After installing the gem, execute deploy
in your deployable project directory.
Follow the interactive prompts.
As per Configuration section, the deployment code makes certain assumptions.
Please consider if they apply to your use case.
Development
After checking out the repo, run bin/setup
to install dependencies. You can also run bin/console
for an interactive prompt that will allow you to experiment.
Then, run rake test
or ruby -Ilib:test test/*
to run the tests. For benchmarked/coloured output, try ruby -Ilib:test test/* -p
.
To install this gem onto your local machine, run rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/sealink/deploy. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
License
The gem is available as open source under the terms of the MIT License.