Home

Awesome

Serverless Multi DotNet

serverless npm version license

A Serverless plugin to pack all your C# lambdas functions that are spread to multiple CS projects.

This plugin will go over all of your functions that have .net core 2.0 runtime defined in serverless.yml file take the value from package.artifact

It would split the value on first path separator and use first part of a string as location for a CS project folder and the rest as a path for a file.

So for example your have function with value like this:

package:
 artifact: functionproject-folder/publish/deploy-package.zip

It equivalent to going into functionproject-folder and executing dotnet lambda package -o publish/deploy-package.zip

If you want to execute serverless deploy for dotnet 6, you should add to serverless.yml: provider.runtime=dotnet6

If you want to execute serverless deploy for arm64 architecture, you should add to serverless.yml: provider.architecture=arm64

If you want to execute serverless deploy with no repacking of C# projects, you should add --nopack option

As of version 0.9, the plugin now supports supplying a projectFolder setting for scenarios when a more complex folder structure is needed.

The projectFolder value must be a parent folder of the artifact location.

E.g.

package:
 artifact: src/app/functionproject-folder/publish/deploy-package.zip
 projectFolder: src/app/functionproject-folder 

Install

npm install serverless-multi-dotnet

Add the plugin to your serverless.yml file:

plugins:
  - serverless-multi-dotnet

Note

This work is based on @fruffin serverless-dotnet plugin