/shipit-aws

Synchronize assets with your s3 instance

Primary LanguageJavaScript

shipit-aws

Build Status Dependency Status devDependency Status

Shipit task for interact with AWS s3

s3 task is based on gulp-s3-upload, thanks @clineamb for your work.

Features:

  • Synchronize assets with your s3 instance

Install

npm install KrashStudio/shipit-aws --save-dev

Usage

Example

Configuration file

aws.json

{
  "accessKeyId": "ACCESS_KEY_ID",
  "secretAccessKey": "SECRET_ACCESS_KEY",
  "region": "REGION",
  "params": {
    "ACL": "ACL",
    "Bucket": "BUCKET_NAME",
    "StorageClass": "REDUCED_REDUNDANCY"
  },
  "syncParams": {
    "dirname": "NAME_OF_THE_DIR_YOU_WANT_TO_SYNC",
    "options": {
      "base": "BASE_RELATIVE_PATH_OF_THE_DIR_YOU_WANT_TO_SYNC",
      "whitelist": ["DIRNAMES", "OF", "YOUR", "ASSETS"],
      "blacklist": [
        "RELATIVE_PATTERNS_OF_DIRS_YOU_DONT_WANT_TO_SYNC",
        "**/*",
        "!**/*.md",
        "!**/*.log",
        "!**/*.coffee",
        "!**/*.map"
      ]
    }
  }
}

shipitfile.js

module.exports = function (shipit) {
  require('shipit-aws')(shipit);
  var aws = require('./aws.json');

  shipit.initConfig({
    default: {
      ...
      aws: aws,
      ...
    }
  });

  ...

  shipit.run('s3');
};

If you want to sync your S3 through CLI, you can execute:

$ shipit YOUR_ENV s3

Todo

  • Improve log rendering (make it customizable)
  • Add support for other AWS services

License

MIT