Problem: my zipped deployment folder that contains my python code is too big!
I looked inside and there’s stuff in there that should be ignored according to my .gitignore
Here is the contents of the (too-big) zipped folder that is deployed to S3
(I DL it from S3 and unzipped the contents)
I should note that my service project is nested one level below another service project, like so…
-root
—main.project.with.own.deployment
------my.project.with.big.zip
---------.gitignore
---------handler.py
--------etc…
What I do most recently is use gulp to build a deployment folder containing all my files/folders. Then within that folder is what I actually deploy. This allows me to have more processes in place for CI/CD.
We a single serverless.yml that contains a bunch of resources and 4 python lambdas. Each lambda needed a different set of python libraries and pre-compiled binaries. I found the best way to hald this was to “package individually” and exclude everything:
package:
individually: true
exclude:
- ".*/**"
Then in each lambda, include only the binaries/libs I needed. e.g.,