Skip to content

Latest commit

 

History

History
53 lines (43 loc) · 1.56 KB

README.md

File metadata and controls

53 lines (43 loc) · 1.56 KB

gulp-oss-sync

A gulp plugin to sync files with Aliyun OSS

Inspired by gulp-awspublish

NPM

Introduction

Use local cache file to store last published file path and file hash. If the file is in the cache file and the hash is unchanged, then ignore this file.

Screen shots

screen shot

Features

  • Use cache file to save network traffic
  • Automatic delete useless file in OSS

How to use

const gulp = require('gulp');
const ossSync = require('gulp-oss-sync');

const ossConf = {
  connect: {
    "region": "<your oss region>",
    "accessKeyId": "<your access key id here>",
    "accessKeySecret": "<your access key secret kere>",
    "bucket": "<your bucket name here>"
  },
  controls: {
    "headers": {
      "Cache-Control": "no-cache"
    }
  },
  setting: {
    dir: "foo/bar", // root directory name
    noClean: false, // compare with the last cache file to decide if the file deletion is need
    force: false, // ignore cache file and force re-upload all the files
    quiet: true, // quiet option for oss deleteMulti operation
    fileName: (path)=> { return path } // modify oss file path
  }
};
const cacheConf = {
  cacheFileName: '.oss-cache-test' // the filename for the cache file
};

gulp.task('publish', function () {
  return gulp.src(['**/*.png'])
    .pipe(ossSync(ossConf, cacheConf));
})