google-cloud-functionsgcloud

How to deploy multiple functions using gcloud command line?


I want to deploy multiple cloud functions. Here is my index.js:

const { batchMultipleMessage } = require('./gcf-1');
const { batchMultipleMessage2 } = require('./gcf-2');

module.exports = {
  batchMultipleMessage,
  batchMultipleMessage2
};

How can I use gcloud beta functions deploy xxx to deploy these two functions at one time.


Solution

  • Option 1:

    For now, I write a deploy.sh to deploy these two cloud functions at one time.

    TOPIC=batch-multiple-messages
    FUNCTION_NAME_1=batchMultipleMessage
    FUNCTION_NAME_2=batchMultipleMessage2
    
    echo "start to deploy cloud functions\n"
    gcloud beta functions deploy ${FUNCTION_NAME_1} --trigger-resource ${TOPIC} --trigger-event google.pubsub.topic.publish
    gcloud beta functions deploy ${FUNCTION_NAME_2} --trigger-resource ${TOPIC} --trigger-event google.pubsub.topic.publish
    

    It works, but if gcloud command line support deploy multiple cloud functions, that will be best way.

    Option 2:

    https://serverless.com/