我正在考虑使用Firebase作为MBaaS,但是我找不到任何可靠的解决方案来解决以下问题:
我想建立两个独立的Firebase环境,一个用于开发,一个用于生产,但我不想手动复制功能(例如。开发和生产环境之间的远程配置设置、通知规则等)。
有什么我可以依赖的工具或方法吗?从头开始设置远程配置或通知规则可能是一项艰巨的任务,风险太大。
有什么建议吗?有没有比拥有两个独立环境更好的方法呢?
在你发表另一个解释如何建立独立Firebase帐户的问题答案之前:这不是问题,再读一遍。问题是:如何在独立的开发帐户和prod帐户之间转移更改或任何比在它们之间手动复制更好的解决方案。
我正在根据我刚刚找到的信息更新这个答案。
步骤1
在firebase.google.com中,创建多个环境(即;Dev, staging, prod)
mysite-dev
mysite-staging
mysite-prod
步骤2
a.移动到你想作为默认值的直接位置(即;dev)
b.执行firebase deploy命令
c.部署完成后,执行firebase use——add命令
d.会出现一个选项,让你从当前拥有的不同项目中进行选择。
滚动到您想要添加的项目:mysite-staging,并选择它。
e.然后您将被要求为该项目提供一个别名。输入暂存。
再次为prod和dev运行a-e项,这样每个环境都将有一个别名
了解你所处的环境
使用firebase运行
默认(mysite-dev)
* dev (mysite-dev)
分期(mysite-staging)
刺激(mysite-dev)
(其中一个环境的左边会有一个星号。这就是你现在的处境。它也将以蓝色突出显示)
在环境之间切换
运行firebase使用staging或firebase使用prodiver在它们之间移动。
进入所需的环境后,运行firebase deploy,项目将部署到该环境中。
这里有一些有用的链接…
CLI参考
部署到多个环境
希望这能有所帮助。
Firebase有一个页面,介绍了如何为dev和prod设置它
https://firebase.google.com/docs/functions/config-env
Set environment configuration for your project To store environment
data, you can use the firebase functions:config:set command in the
Firebase CLI. Each key can be namespaced using periods to group
related configuration together. Keep in mind that only lowercase
characters are accepted in keys; uppercase characters are not allowed.
For instance, to store the Client ID and API key for "Some Service",
you might run:
firebase functions:config:set someservice.key="THE API KEY" someservice.id="THE CLIENT ID"
Retrieve current environment configuration To inspect what's currently
stored in environment config for your project, you can use firebase
functions:config:get. It will output JSON something like this:
{
"someservice": {
"key":"THE API KEY",
"id":"THE CLIENT ID"
}
}