Awesome
Serverless Staging
A plugin to restrict the deployment of resources or functions on a per stage basis.
Installation
npm install serverless-plugin-staging --save-dev
or
yarn add serverless-plugin-staging --dev
Usage
In your project's serverless file, add serverless-plugin-staging
within the plugins entry.
Example:
plugins:
- serverless-plugin-staging
Configuration
To restrict which assets are deployed within a stage, create a custom variable named staging
. Within that staged variable, excludeFunctions
will be used to control what functions are ignored during a deployment, and the excludeResources
to control the resources.
Example excluding the function prodFunctionHandler from deploying on beta stage
custom:
staging:
excludeFunctions:
beta:
- prodFunctionHandler
Example excluding the Uploads S3 Bucket from deploying on beta stage
custom:
staging:
excludeResources:
beta:
- UploadsBucket
Complete Example
service: serverless-plugin-staging-example
custom:
staging:
excludeFunctions:
beta:
- prodFunctionHandler
excludeResources:
beta:
- UploadsBucket
provider:
name: aws
runtime: nodejs8.10
region: us-west-2
functions:
prodFunctionHandler:
handler: handlers.prodLambda
normalFunctionHandler:
handler: handlers.normalLambda
resources:
Resources:
UploadsBucket:
Type: AWS::S3::Bucket
Properties:
BucketName: Uploads
plugins:
- serverless-plugin-staging