1.0.3 • Published 3 years ago

@e11community/function-deployer v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

Engineering11 Firebase Function Deployer

@e11community/function-deployer is a library to automatically deploy Firebase Functions in groups.

Engineering11 built this module to accommodate deploying a large number of functions (100+) based on the recommended approach of grouping functions. This does not speed up deployment but trys to provide a reliable approach given the limitations of deploying Firebase Functions.

This module will automatically group functions into a shard of 15 (by default, override with command line arg) and deploy shards until all functions are deployed. Using GCP Cloud Build it takes ~10 minutes for 100 functions.

Prerequisites

  • A Firebase project setup that includes functions
  • A function naming convention of functionname.f.js (ex: myfunction.f.js) **see credits

Installation

Use the package manager npm to install function-deloyer.

npm install @e11community/function-deployer --save-dev

Usage

From package.json

"scripts": {
    ...
    "deployall": "node ./node_modules/@e11community/function-deployer/deployall.js",
},

Then from the functions directory in your Firebase project

npm run deployall

Or from the command line in the functions directory of your Firebase project

node ./node_modules/@e11community/function-deployer/deployall.js

Optional command line parameters

  • shardSize -- specify the max number of functions to be deployed in a group, default=15
  • functionPath -- specify the functions path, default='./'
  • projectid -- specify the Firebase project ID, default is the current authenticated Firebase project
  • retries -- number of retires for the deploy command, default=3
  • nameSegment -- value of segment for function naming convention that identifies that it's a function, default='f' (ex: given the function name myfunction.f.js where 'f' is the naming convention that identifies it as a function: deployall -nameSegment=f)

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

Credits

Tarik Huber for this article

License

MIT

1.0.3

3 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago