Skip to main content

Delete Old Lambda Versions Using Serverless Package

· One min read

In my current project, we are using serverless package for one of the modules to deploy around 20 lambda functions. What happened was for each build, a new version of lambda is created and stored. This resulted in reaching the maximum code storage limit of 75GB pretty soon.

Gitlab pipeline started failing. For few weeks, we wrote a script to delete the lambda versions and ran it whenever required. But that was not a permanent solution. So, we tried serverless-prune-plugin.

Setup

Install the serverless-prune-plugin.

yarn add serverless-prune-plugin --dev

Update Serverless Config

Add serverless-prune-plugin to the list of plugins in either serverless.ts or serverless.yml. Mine was a .ts.

plugins: [
'serverless-prune-plugin',
],

Since, I had to run this pruning automatically, I added the rules to custom attribute in serverless.ts.

custom: {
prune: {
automatic: true,
number: 3,
},
},

Output

Now when the pipeline runs, it showed that the pruning was successful.

✔ Pruning of functions complete

In my case 75GB space got reduced to 45GB.