如何解决使用不同的数据进行生产和开发Firebase网站
我有一个带有Google Cloud构建触发器的CI / DC管道,该触发器将我的代码部署到不同的站点,具体取决于我推送到哪个分支。开发站点是一个实时测试-在我合并到主站点之前进行的最终检查,这会触发将主站点部署到生产站点。
当前,两个站点都使用相同的Firebase Firestore db,并且在开发站点上更改的任何文档也将在生产站点上更改。
我要避免的是创建另一个Firebase项目,以将开发代码推送到另一个数据库,因为这意味着我需要一组单独的凭据,并且每次更改它们时都将相同的功能复制到新项目中。这是无法维护的,需要大量工作。
我想通过某种方式使开发站点只能访问部分Firestore数据库,而生产站点可以访问另一部分。
人们如何做到这一点?可能吗有没有更好的办法?我可以想到的另一种方法是使用身份验证并创建具有不同访问权限的单独帐户以进行测试,但这似乎是一种解决方法,而不是理想的解决方案。
解决方法
您尝试做的事情听起来比using multiple projects麻烦得多,enter image description here是有据可查的,并且是首选的解决方案。将所有内容放到一个项目中,对Firebase和Google Cloud来说是一个巨大的反模式,从长远来看,这会给您带来更多问题,而且如果您在该项目中错误地配置某些内容,还会增加灾难性失败的风险。 / p>
如果您应用一些脚本来自动化工作,那么拥有多个这样的项目是完全可维护的。这很常见,我强烈建议您仔细考虑一下如何为您工作。
您的CI / CD管道绝对可以从源代码管理中签出您的更新,并将其部署到您设置的任何其他项目环境中。管理用于CI / CD的不同凭据和配置非常普遍。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。