Несколько папок разработчика для одной учетной записи Firebase Cloud Functions

#firebase #google-cloud-functions

#firebase #google-cloud-функции

Вопрос:

Возможно ли иметь разные папки разработки для развертывания разных функций Firebase Cloud в одной учетной записи Firebase?

Допустим, у меня есть 2 папки, которые были созданы firebase init с использованием одной и той же учетной записи Firebase:

 dev1 //This folder will deploy function foo()
|____ functions
      |____ src
      |     |____ index.js
      |     |____ environment.js
      | ...


dev2 //This folder will deploy function bar()
|____ functions
      |____ src
      |     |____ index.js //Completely different from dev1/index.js but same file name
      |     |____ environment.js //Completely different from dev1/environment.js but same file name
      | ...
 

Если я зайду внутрь dev1 и запущу firebase deploy , я разверну foo() функцию.

Затем я захожу внутрь dev2 и также запускаю firebase deploy . Что произойдет? Будет ли содержимое dev2 перезаписываться dev1 с сервера Google, или я смогу просто поддерживать 2 отдельные независимые папки для разработки облачных функций Firebase для одной и той же учетной записи Firebase?

Ответ №1:

Если вы выполните firebase deploy из dev2, CLI спросит вас, хотите ли вы удалить функцию foo :

Would you like to proceed with deletion? Selecting no will continue the rest of the deployments. (y/N)

Ответ «нет» (N) не коснется функций из dev1.

Другой способ, который вы могли бы сделать, — использовать firebase deploy -only function:foo из папки dev 1 и firebase deploy -only function:bar из dev2

Начиная с Firebase CLI tools 3.8.0, вы можете удалить несколько функций, присвоив им имена : firebase deploy --only functions:func1,functions:func2

Комментарии:

1. Спасибо вам за ваш ответ. Если я решу не удалять exising foo() с сервера при выполнении firebase deploy in dev2 , это все равно произойдет? Кроме того, для каких команд --only functions требуется более 1 имени функции?

2. Я только что обновил свой ответ, чтобы ответить на этот комментарий.