Jammit S3 is a jammit wrapper that provides appropriate hooks so you can easily deploy your assets to s3/cloudfront
It's especially great for Heroku user who use generated assets such as coffee-script and sass. jammit-s3 includes a script you can use as a hook to recompile and upload all your assets.
To install jammit-s3, just use:
gem install jammit-s3
If you are using Rails3, add it to your project's
Jammit S3 already has a gem dependency for jammit, so I'd recommend removing any existing
gem 'jammit' references from your Gemfile.
config/assets.yml, just add a toplevel key called
s3_bucket that contains the bucketname you want to use. If jammit-s3 doesn't find the bucket, it will try to create it. Bucketnames need to be globally unique. Learn more about bucketnames here
To deploy your files to s3, just the jammit-s3 command at your project's root.
If using it in the context of your Rails3 app, I'd recommend using
bundle exec jammit-s3
Every time you run jammit-s3 it will ask you for your Amazon credentials. To avoid this, you can set them in your
s3_access_key_id: 03HDMNF59CWZ2J24T702 s3_secret_access_key: 1TzRlDmuH8DoOlJ2tlwW8qx+i+Pfe0jzIouWI2BL
Replace these with your own access keys, found here.
As you probably don't want to check this data into source control, I'd recommend you just set it to an environment variable on your local box, and use ERB
s3_access_key_id: <%= ENV['ACCESS_KEY_ID'] %> s3_secret_access_key: <%= ENV['SECRET_ACCESS_KEY'] %>
You can then set these env variables in your .bash_profile
By default, jammit-s3 will upload your configured asset directly, along with public/images. However you can customize this using the
s3_upload_files setting, which should be a list of file globs.
To use cloudfront, just enable it in your config/assets.yml by adding a toplevel key:
For this to work you need to make sure you have the cloudfront enabled via you Amazon acccount page. Go here: http://aws.amazon.com/cloudfront/ and click "Sign Up"
To suggest a feature or report a bug: http://github.com/railsjedi/jammit-s3/issues/
Jammit S3 is a simple wrapper around Jammit. To view the original Jammit docs, use http://documentcloud.github.com/jammit/