gulp-gcloud-publish
Version:
Gulp task to publish to Google Clod Storage
58 lines (43 loc) • 2.77 kB
Markdown
[](https://www.npmjs.com/package/gulp-gcloud-publish) [](https://travis-ci.org/albertorestifo/gulp-gcloud-publish) [](https://coveralls.io/r/albertorestifo/gulp-gcloud-publish) [](https://codeclimate.com/github/albertorestifo/gulp-gcloud-publish) [](https://david-dm.org/albertorestifo/gulp-gcloud-publish)
> Upload files to Google Cloud Storage with Gulp
```
npm install --save-dev gulp-gcloud-publish
```
First, you need to create your Google Cloud API credentials. [__Official Docs__][gc-docs].
The plugin takes a configuration object with the following keys:
- bucket `String`: Name of the bucket where we want to upload the file
- gzip `Boolean` (optional): Let Google automatically gzip and mark metadata of your file. Regardless of this setting, already-gzipped files will have metadata properly set.
- keyFilename `String`: Full path to the Google Cloud API keyfile ([docs][gc-docs])
- projectId `String`: Google Cloud Project ID ([docs][gc-docs])
- base `String`: base path to use in the bucket, default to `/`
- public `Boolean` (optional): If set to true, marks the uploaded file as public
- resumable `Boolean` (optional): Should be set to true for large files (>10Mb). Default is `false`.
- transformDestination `Function` (optional): Manipulates the final destination of the file in the bucket.
## Example
If you would like to `gzip` the files, the plugin works best with [gulp-gzip](https://www.npmjs.com/package/gulp-gzip).
```js
var gulp = require('gulp');
var gcPub = require('gulp-gcloud-publish');
var gzip = require('gulp-gzip'); // optional
gulp.task('publish', function() {
return gulp.src('public/css/example.css')
.pipe(gzip()) // optional
.pipe(gcPub({
bucket: 'bucket-name',
keyFilename: 'path/to/keyFile.json',
projectId: 'my-project-id',
base: '/css',
public: true,
transformDestination: function(path) {
return path.toLowerCase();
},
metadata: {
cacheControl: 'max-age=315360000, no-transform, public',
}
})); // => File will be uploaded to /bucket-name/css/example.css
});
```
[]: https://googlecloudplatform.github.io/gcloud-node/#/authorization