grunt-rhythm-aws-s3-sync

Sync with Amazon S3 bucket

Usage no npm install needed!

<script type="module">
  import gruntRhythmAwsS3Sync from 'https://cdn.skypack.dev/grunt-rhythm-aws-s3-sync';
</script>

README

grunt-rhythm-aws-s3-sync v0.1.8

Sync with Amazon S3 bucket

build status downloads per month

Getting Started

This plugin requires Grunt ~0.4.5

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-rhythm-aws-s3-sync --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-rhythm-aws-s3-sync');

Amazon Credentials

Credentials are read from ./awsconfig.json with a fallback to ~/.aws/credentials

awsconfig.json

{
    "accessKeyId": "ACCESS_KEY_ID",
    "secretAccessKey": "SECRET_ACCESS_KEY"
}

~/.aws/credentials

[default]
aws_access_key_id = ACCESS_KEY_ID
aws_secret_access_key = SECRET_ACCESS_KEY

Download task

Run this task with the grunt download-s3-bucket command.

Options

bucket

Type: String

S3 bucket name.

overwrite

Type: Boolean
Default: false

Allow overwriting of local files.

local-dst

Type: String
Default: .

Local destination to download files to.

remote-src

Type: String
Default: /

Remote source folder to download files from.

Examples

Example config

grunt.initConfig({
    'download-s3-bucket': {
        'download': {
            options: {
                bucket: 'S3_BUCKET_NAME',
                overwrite: true,
                'remote-src': '/',
                'local-dst': '.'
            }
        }
    }
});

grunt.loadNpmTasks('grunt-rhythm-aws-s3-sync');

grunt.registerTask('default', ['download-s3-bucket']);

Upload task

Run this task with the grunt upload-s3-bucket command.

Options

bucket

Type: String

S3 bucket name.

overwrite

Type: Boolean
Default: false

Allow overwriting of remote files.

files

Type: String
Default: .

Path to folder to upload.

Examples

Example config

grunt.initConfig({
    'upload-s3-bucket': {
        'upload': {
            options: {
                bucket: 'S3_BUCKET_NAME',
                overwrite: false,
                files: 'media'
            }
        }
    }
});

grunt.loadNpmTasks('grunt-rhythm-aws-s3-sync');

grunt.registerTask('default', ['upload-s3-bucket']);

Clear Abandoned Uploads task

(Amazon charges you storage even for parts of files uploaded and abandoned)

Run this task with the grunt clear-upload-s3-bucket command.

Options

bucket

Type: String

S3 bucket name.

Examples

Example config

grunt.initConfig({
    'clear-upload-s3-bucket': {
        'clear-upload': {
            options: {
                bucket: 'S3_BUCKET_NAME'
            }
        }
    }
});

grunt.loadNpmTasks('grunt-rhythm-aws-s3-sync');

grunt.registerTask('default', ['upload-s3-bucket']);