Отдельная среда разработки Dev и prod Firebase
Я рассматриваю использование Firebase как MBaaS, однако я не нашел надежного решения следующей проблемы:
Я хотел бы создать две отдельные среды Firebase, одну для разработки и одну для производства, но я не хочу делать ручную копию функций (например, настройку удаленной настройки, правила уведомлений и т.д.) Между средой разработки и производства,
Есть ли какой-нибудь инструмент или метод, на которые я могу положиться? Настройка удаленной конфигурации или правил уведомлений с нуля может быть сложной задачей и слишком рискованной.
Какие-либо предложения? Есть ли лучший подход, чем наличие двух отдельных сред?
Прежде чем отправлять другой ответ на вопрос, который объясняет, как настроить отдельные учетные записи Firebase: это не вопрос, прочитайте его снова. Возникает вопрос: как перевести изменения между отдельными учетными записями dev и prod или любым лучшим решением, чем вручную копировать между ними.
Ответы
Ответ 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
Вам нужно будет управлять разными типами сборки
Следить за этим
-
Сначала создайте новый проект на консоли Firebase, имя ID как YOURAPPNAME-DEV
-
Нажмите кнопку "Добавить приложение для Android" и создайте новое приложение. Назовите его com.yourapp.debug, например. Новый файл google-services.json будет загружен автоматически
-
В каталоге проекта src создайте новый каталог с именем "debug" и скопируйте новый файл google-services.json здесь
-
На вашем модульном уровне build.gradle добавьте это
debug {
applicationIdSuffix ".debug"
}
Теперь, когда вы создаете отладочную сборку, будет использоваться google-services.json из папки "debug", и когда вы будете строить в режиме выпуска, будет рассмотрен google-services.json из корневого каталога модуля.
Ответ 5
Как я это сделал:
- У меня было 2 проекта на firebase- один для DEV другой для PROD
- Локально у моего приложения также было 2 ветки - один по имени DEV, другой по имени PROD
- В моей ветке 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"
}
}