Короткое описание.
От Amazon вы получаете accessKeyId и secretAccessKey, которые записываете в отдельный файл. Далее добавляете название и версию пакета в package.json, далее добавляете необходимые описания и вызовы в gruntfile.js , ставите пакет, запускаете Grunt.
1) Добавляем в package.json
"grunt-aws" : "latest"
2) Создаем файл credentials.json рядом с package.json и gruntfile.js
{
"accessKeyId": "Здесь ID",
"secretAccessKey": "Здесь ключ"
}
3) Добавляем в gruntfile.js
// package.json
pkg: grunt.file.readJSON('package.json'),
// Переменные каталогов проекта
project: {
app: ['public'],
assets: ['<%= project.app %>/assets'],
},
// Проталкивание файлов на S3
aws: grunt.file.readJSON("credentials.json"),
s3: {
options: {
accessKeyId: "<%= aws.accessKeyId %>",
secretAccessKey: "<%= aws.secretAccessKey %>",
bucket: "имя-каталога-куда-лить"
},
upload: {
headers: {
CacheControl: 604800
// Expires: new Date(Date.now() + 604800000).toUTCString()
},
cwd: ".",
src: [
"<%= project.app %>/*.html",
"<%= project.app %>/dist/**",
"<%= project.assets %>/fonts/**",
"<%= project.assets %>/img/*"
]
}
},
// Загрузка предварительно установленного модуля
grunt.loadNpmTasks('grunt-aws');
// Задания будут выполнятся сразу после команды grunt
grunt.registerTask('default', [ 's3']);
4) Открываем терминал, переходим в каталог с проектом и выполняем две команды
npm install
grunt