Search code examples
jenkinsgoogle-cloud-platformgoogle-cloud-functionsgoogle-cloud-buildfirebase-cli

Is there a way to deploy Cloud Functions directly as zip artifacts to Google Cloud Platform? and not rely on the default Cloud Build?


The default setup for firebase functions is to run firebase deploy, which will:

  • Upload the whole project to Cloud Build
  • Cloud Build will extract the functions
  • It will run npm install.
  • Create the ZIP artefacts
  • Upload the ZIP artefacts to the cloud

The question is if you know of a way to make these ZIP artefacts on our side and upload them directly?

Default Cloud Build steps List of the Cloud Build deployments


Solution

  • From my point of view - there are plenty of options how to deploy one or more cloud functions.

    The Deploying Cloud Functions documentation provides some initial context.

    The easiest way, from my point of view, to use gcloud functions deploy command - see Cloud SDK CLI - gcloud functions deploy

    As a side note - from my personal point of view - an idea to use Cloud Build - is not bad, and it has many benefits (security, organization of CI/CD, etc.) but it is up to you. Personally I use Cloud Build with Terraform, and configured deployment in a such a way, that only updated Cloud Functions are redeployed.