2016-05-26 2 views
44

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

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

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

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

+1

было бы здорово иметь это как функцию! – Patrick

+2

https://firebase.googleblog.com/2016/07/deploy-to-multiple-environments-with.html – Timmerz

+0

@Timmerz См. Первый ответ: относится только к хостингу и базе данных, но не к другим функциям. – racs

ответ

19

В настоящее время я не использую 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 копировать правила, настройку аудитории и т. Д. Мне кажется, что он касается только операций с базой данных: https://github.com/firebase/firebase-tools – racs

+0

До сих пор мой вывод такой же, как Ваш: два отдельных проекта - это решение, даже если это неудобно: нет простых способов перемещения данных между проектами. – racs

+1

Не уверен, что вы это видели, но вы можете запустить свой dev на firebase-сервере: https://firebase.googleblog.com/2015/04/end-to-end-testing-with-firebase-server_16. html – krico

12

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

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

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

+1

Насколько я понял, инструменты Firebase полезны для развертывания размещенных файлов и базы данных, но ничего не делают с базой данных, аналитикой или удаленной конфигурацией. Или я чего-то не хватает? – racs

+0

@racs похоже, что это последнее, но я вот-вот начну пытаться использовать cli для сбора данных/обслуживания данных в моем экземпляре dev: https://firebase.googleblog.com/2015/11/the-firebase -cli-now-with-database_82.html – Chris

+0

@chris спасибо, это по крайней мере начало. Но это выглядит довольно загадочно. Удачи! – racs

3

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

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

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

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

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

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

+0

Спасибо за ваш ответ.Мне удалось настроить различные приложения, но я все еще ищу способ копирования различных настроек из приложения FB dev в приложение FB prod, как я просил в вопросе. (Например, настройки удаленной конфигурации или аудитории). – racs

+0

Обратите внимание, что это создает два приложения внутри одного и того же проекта, поэтому вы будете разделять некоторые сервисы, такие как аналитика, но база данных будет разделяться, поэтому это не является реальным разделением сред, как описано здесь. Https://firebase.googleblog.com/2016/08/organizing-your-firebase-enabled-android-app-builds.html – AntPachon

2

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

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

2.click «Добавить приложение для Android» кнопка и создать новое приложение. Назовите его com.yourapp.debug, например. Новые Google-сервисы.JSON файл будет загружен автоматически

3.Under вашего проекта каталога Src создать новый каталог с именем «отладки» и скопировать новый файл Google-services.json здесь

4.In ваш модуль уровня build.gradle добавить этот

debug { 
     applicationIdSuffix ".debug" 
    } 

Теперь, когда вы строите отладки сборки Google-services.json из папки «отладки» будет использоваться, и когда вы будете строить в режиме релиз Google-services.json из корневого каталога модуля будет рассмотрен.

Смежные вопросы