Skip to content

Instantly share code, notes, and snippets.

@imyelo
Created January 12, 2016 07:21
Show Gist options
  • Save imyelo/d961f504364121fc6ce2 to your computer and use it in GitHub Desktop.
Save imyelo/d961f504364121fc6ce2 to your computer and use it in GitHub Desktop.
upload files to oss
#!/usr/bin/env node
var co = require('co');
var parallel = require('co-parallel');
var globby = require('globby');
var oss = require('ali-oss');
var store = oss({
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
bucket: process.env.OSS_BUCKET,
region: process.env.OSS_REGION
});
co(function* () {
var builds, datas;
builds = yield upload({
prefix: '/',
cwd: '',
patterns: ['public/**/*']
});
}).catch(function (err) {
console.error(err);
});
function* upload (options) {
var files, objects;
files = yield globby(options.patterns, {
cwd: options.cwd,
nodir: true
});
console.log('uploading %s files from %s ...', files.length, options.cwd);
objects = yield parallel(files.map(function (file) {
return store.put(options.prefix + file, options.cwd + '/' + file);
}));
console.log('success √');
return objects;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment