S3::Deploy

A simply command line tool that uploads all folder contents to an S3 bucket. On re-upload it checks the last modification date and doesn't upload files that weren't changed.

Installation

Install it yourself as:

$ gem install s3-deploy

Usage

Create a aws.yml file on level above the actual upload directory:

access_key_id: ABCEDEFGHIJKLMNOP
secret_access_key: i4t58763g4vlsdvfu34v6z
s3_endpoint: s3-eu-west-1.amazonaws.com
bucket: "abucket"

Then simply run s3-deploy in the folder you want to deploy, e.g.

> ll
total 2
-rw-r--r--@ 1 tommy  staff   150 Dec 12 13:55 aws.yml
drw-r--r--  1 tommy  staff   746 Dec 12 13:56 public
> cd public
> s3-deploy

You can also specify a folder and a bucket prefix, if you want:

> s3-deploy assets prefix/in/bucket

which will upload the assets directory to prefix/in/bucket/assets.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request