Подтвердить что ты не робот

Отдельная среда разработки Dev и prod Firebase

Я рассматриваю использование Firebase как MBaaS, однако я не нашел надежного решения следующей проблемы:

Я хотел бы создать две отдельные среды Firebase, одну для разработки и одну для производства, но я не хочу делать ручную копию функций (например, настройку удаленной настройки, правила уведомлений и т.д.) Между средой разработки и производства,

Есть ли какой-нибудь инструмент или метод, на которые я могу положиться? Настройка удаленной конфигурации или правил уведомлений с нуля может быть сложной задачей и слишком рискованной.

Какие-либо предложения? Есть ли лучший подход, чем наличие двух отдельных сред?

Прежде чем отправлять другой ответ на вопрос, который объясняет, как настроить отдельные учетные записи Firebase: это не вопрос, прочитайте его снова. Возникает вопрос: как перевести изменения между отдельными учетными записями dev и prod или любым лучшим решением, чем вручную копировать между ними.

4b9b3361

Ответ 1

В настоящее время я не использую Firebase, но рассматриваю это как вы. Похоже, вам нужно создать совершенно отдельный проект на консоли. Был блогпост, рекомендующий это на старом сайте Firebase, но теперь его нужно удалить. https://web.archive.org/web/20160310115701/https://www.firebase.com/blog/2015-10-29-managing-development-environments.html

Также это обсуждение рекомендует: https://groups.google.com/forum/#!msg/firebase-talk/L7ajIJoHPcA/7dsNUTDlyRYJ

Ответ 2

Если вы используете firebase-tools, есть команда firebase use, которая позволяет вам настроить, какой проект вы используете для firebase deploy

firebase use --add отобразит список ваших проектов, выберите его, и он попросит вас создать псевдоним. Оттуда вы можете firebase use alias и firebase deploy нажать на этот проект.

В моем личном использовании у меня есть приложения my-app и my-app-dev как проекты в консоли Firebase.

Ответ 3

Этот blogpost описывает очень простой подход с использованием типа отладки и выпуска.

В двух словах:

  • Создайте новое приложение для Firebase для каждого типа сборки, используя другой суффикс идентификатора приложения.
  • Настройте проект Android с помощью последнего файла JSON.
  • Используя applicationIdSuffix, измените Идентификатор приложения, чтобы он соответствовал различным приложениям на Firebase в зависимости от типа сборки.

= > Подробное описание см. в блоге.

Если вы хотите использовать разные варианты сборки, прочитайте этот обширный blogpost из официального блога firebase. Он содержит много полезной информации.

Надеюсь, что это поможет!

Ответ 4

Вам нужно будет управлять разными типами сборки

Следить за этим

  1. Сначала создайте новый проект на консоли Firebase, имя ID как YOURAPPNAME-DEV

  2. Нажмите кнопку "Добавить приложение для Android" и создайте новое приложение. Назовите его com.yourapp.debug, например. Новый файл google-services.json будет загружен автоматически

  3. В каталоге проекта src создайте новый каталог с именем "debug" и скопируйте новый файл google-services.json здесь

  4. На вашем модульном уровне build.gradle добавьте это

    debug {
            applicationIdSuffix ".debug"
        }
    

Теперь, когда вы создаете отладочную сборку, будет использоваться google-services.json из папки "debug", и когда вы будете строить в режиме выпуска, будет рассмотрен google-services.json из корневого каталога модуля.

Ответ 5

Как я это сделал:

  1. У меня было 2 проекта на firebase- один для DEV другой для PROD
  2. Локально у моего приложения также было 2 ветки - один по имени DEV, другой по имени PROD
  3. В моей ветке DEV у меня всегда есть файл JSON проекта Firebase DEV, а также для PROD

Таким образом, я не обязан поддерживать свои JSON.

Ответ 6

То, как мы это делаем, заключается в создании различных файлов ключей json для разных сред. Мы использовали функцию учетной записи службы, рекомендованную google, и имели один файл разработки, а другой для производства

enter image description here

Ответ 7

У Firebase есть страница по этому вопросу, в которой рассказывается, как настроить ее для dev и prod.

https://firebase.google.com/docs/functions/config-env

Настройка конфигурации среды для вашего проекта Для хранения данных среды вы можете использовать функции firebase: config: set command в CLI Firebase. Каждый ключ может быть пространством имен, используя точки, чтобы сгруппировать связанные конфигурации вместе. Помните, что в ключах допускаются только строчные буквы; символы в верхнем регистре не допускаются.

Например, чтобы сохранить идентификатор клиента и ключ API для "Некоторая служба", вы можете запустить:

firebase functions:config:set someservice.key="THE API KEY" someservice.id="THE CLIENT ID"

Получить текущую конфигурацию среды. Чтобы проверить, что в данный момент хранится в конфигурации среды для вашего проекта, вы можете использовать функции firebase: config: get. Он выведет JSON примерно так:

{
  "someservice": {
    "key":"THE API KEY",
    "id":"THE CLIENT ID"
  }
}