首页 文章

单独的dev和prod Firebase环境

提问于
浏览
79

我正在考虑使用Firebase作为MBaaS,但我找不到任何可靠的解决方案来解决以下问题:

我想设置两个单独的Firebase环境,一个用于开发,一个用于 生产环境 ,但我不想在开发和 生产环境 环境之间手动复制功能(例如远程配置设置,通知规则等) .

我可以依赖任何工具或方法吗?从头开始设置远程配置或通知规则可能是一项艰巨的任务,而且风险太大 .

有什么建议?有比两个独立环境更好的方法吗?

Before you post another answer to the question which explains how to set up separate Firebase accounts: it is not the question, read it again. The question is: how to TRANSFER changes between separate dev and prod accounts or any better solution than manually copy between them.

7 回答

  • 0

    我这样做的方式:

    • 我在firebase上有2个项目 - 一个用于PRO的其他项目

    • 本地我的应用程序也有2个分支 - 一个名为DEV,另一个名为PROD

    • 在我的DEV分支中,我总是拥有DEV firebase项目的JSON文件,同样适用于PROD

    这样我就不需要维护我的JSON了 .

  • 0

    如果您使用的是firebase-tools,则会有一个命令 firebase use ,它允许您设置用于 firebase deploy 的项目

    firebase use --add 将显示您的项目列表,选择一个,它会要求您提供别名 . 从那里你可以 firebase use aliasfirebase deploy 推进到那个项目 .

    在我个人的使用中,我将my-app和my-app-dev作为Firebase控制台中的项目 .

  • 3

    This blogpost描述了一种使用调试和发布构建类型的非常简单的方法 .

    简而言之:

    使用不同的应用程序ID后缀为每个构建类型在Firebase上创建一个新的应用程序 . 使用最新的JSON文件配置您的Android项目 . 使用applicationIdSuffix,根据构建类型更改Application ID以匹配Firebase上的不同Apps .

    =>请参阅博客文章以获取详细说明 .

    如果您想使用不同的构建版本,请阅读官方firebase博客中的这篇内容.383303_ . 它包含许多有 Value 的信息 .

    希望有所帮助!

  • 1

    Firebase上有一个页面,介绍了如何为dev和prod设置它

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

    为项目设置环境配置要存储环境数据,可以在Firebase CLI中使用firebase functions:config:set命令 . 每个密钥都可以使用句点命名空间,以将相关配置组合在一起 . 请记住,键中只接受小写字符;不允许使用大写字符 . 例如,要存储“某些服务”的客户端ID和API密钥,您可以运行:firebase functions:config:set someservice.key =“THE API KEY”someservice.id =“CLIENT ID”
    检索当前环境配置要检查项目的环境配置中当前存储的内容,可以使用firebase函数:config:get . 它会输出类似这样的JSON:{
    “someservice”:{
    “key”:“API KEY”,
    “id”:“客户ID”
    }
    }

  • 4

    我目前没有使用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

  • 21

    我们这样做的方法是为不同的环境创建不同的json密钥文件 . 我们使用谷歌推荐的服务帐户功能,并有一个开发文件和另一个用于 生产环境

    enter image description here

  • 23

    您需要管理不同的构建类型

    跟着这个

    • 首先,在Firebase控制台上创建一个新项目,名称为YOURAPPNAME-DEV

    • 单击“添加Android应用程序”按钮并创建一个新应用程序 . 例如,将其命名为com.yourapp.debug . 将自动下载新的google-services.json文件

    • 在您的项目src目录下创建名为“debug”的新目录并在此处复制新的google-services.json文件

    • 在模块级别build.gradle中添加此项

    debug {
            applicationIdSuffix ".debug"
        }
    

    现在,当您构建调试版本时,将使用“debug”文件夹中的google-services.json,当您构建发布模式时,将考虑模块根目录中的google-services.json .

相关问题