We’ve got an awesome new update in the works. Seed can now drastically speed up your builds by only deploying the Lambda functions that’ve been updated.
Incremental Deploys allows Seed to only deploy the parts of your app that have been updated. So far Seed has supported incrementally deploying the services in your Serverless app. It does this by either looking at the Git log, or by using Lerna to figure out which packages have been updated.
Incremental Lambda Deploys
Today we are launching Incremental Lambda Deploys in beta. This allows Seed to deploy only the Lambda functions in your Serverless service that’ve been updated.
Seed does this by checking if the CloudFormation template or Serverless config has been changed. If it hasn’t, then it’ll look at the individual Lambda functions in the service and deploy only the ones that have been updated. It’ll deploy the Lambda functions concurrently and directly, without doing a CloudFormation update. This can greatly speed up your deployments. Especially when you are actively developing your app.
By incrementally deploying your Serverless services and Lambda functions, Seed can potentially speed up your deployments by 100x!
Incremental Deploys in Seed can potentially speed up your deployments by 100x!
Enabling Incremental Lambda Deploys
To enable incremental deployments for your service, first install the Serverless Seed plugin:
$ npm install --save-dev serverless-seed
Then add it to your
plugins: - serverless-seed
And enable Incremental Lambda Deploys.
custom: seed: incremental: enabled: true
And that’s it. Make a couple of deployments to Seed and it’ll now use this plugin to figure out if it can incrementally deploy your Lambda functions.
You can also disable Incremental Deploys for specific stages.
custom: seed: incremental: enabled: true disabledFor: - prod
During the Beta
Incremental Lambda Deploys works with most of the popular Serverless Framework plugins. But during the beta we’d like you to test it out with your setups and give us feedback. You can test it out with your apps today and contact us via email or post on our GitHub if you have any questions or run into any issues.