Pass your instance of gulp into lambduh-gulp somewhere in your gulpfile.js.
//gulpfile.js
var gulp = require('gulp');
var lambduhGulp = require('lambduh-gulp');
lambduhGulp(gulp);
Optionally, you don't need to require your own gulp... but if you want to add any of your own tasks, you'll want your own instance.
Gulp tasks
gulp zipload
The task you'll use the most – runs gulp lambda-zip, then gulp upload. See the next two funcs for details.
gulp lambda-zip
Runs a clean to remove any dist/* or dist.zip
Pipes your index.js, bin/*, and package.json into a dist folder
Installs your production node-modules in dist/
Zips it up into a dist.zip
gulp upload
Creates and uploads a new Lambda function. If one exists, this will update the function's configuration, then re-upload the latest code.
This function assumes you have a local ./lambda-config.js file with details on your lambda function. The parameters match those used by the (current) JS aws-sdk:
Uploading also assumes your have permissions to update lambda functions from your machine. This takes time to configure via the AWS CLI, but the resulting workflow is worth it. And besides, AWS's interface is much easier to use from the commandline relative to the non-sense they present in the console.
Other gulp tasks
Note that if you're not careful, you may overwrite some of the gulp tasks this module uses. If any of these are silly (i.e. this module shouldn't own the namespace), let me know and I can prefix all of them:
clean
js
bin
node-mods
zip
lambda-zip
upload
zipload
Reach out!
I'd love some feedback/PRs/whatever - open an issue and let's talk.
请发表评论