使用不同的数据进行生产并开发 Firebase 站点
Use different data for production and develop firebase sites
我有一个带有 google 云构建触发器的 CI/DC 管道,可根据我推送到的分支将我的代码部署到不同的站点。开发站点是一个实时测试 - 在我合并到 master 之前的最后检查,这会触发将 master 部署到生产站点。
目前,两个站点使用相同的 firebase Firestore 数据库,开发站点上更改的任何文档也会在生产站点上更改。
我想避免的是创建另一个 firebase 项目来将开发代码推送到不同的数据库,因为这意味着我需要一组单独的凭据,并且每次我都会将相同的功能复制到新项目改变他们。这是不可维护的,需要大量工作。
我想要的是开发站点只能访问部分 firestore 数据库,而生产站点可以访问另一部分的方法。
人们如何做到这一点?有可能吗?有没有更好的办法?我能想到的一种替代方法是使用身份验证并创建单独的帐户以使用不同的访问权限进行测试,但这似乎是一种变通方法,而不是理想的解决方案。
您尝试做的事情听起来比 using multiple projects 麻烦得多,后者是已记录且强烈推荐的解决方案。将所有内容都放在一个项目中,在 Firebase 和 Google Cloud 中是一个巨大的 anti-pattern,如果你这样做,它会在长期 运行 中给你带来更多问题,此外还会增加灾难性失败的风险设法在那个项目中配置错误。
如果您应用一些脚本来自动化工作,那么拥有多个这样的项目是完全可维护的。这很常见,我强烈建议您考虑一下这对您有何作用。
您 CI/CD 管道绝对可以从源代码管理中检查您的更新并将它们部署到您设置的任何其他项目环境中。管理用于 CI/CD.
的不同凭据和配置是很常见的
我有一个带有 google 云构建触发器的 CI/DC 管道,可根据我推送到的分支将我的代码部署到不同的站点。开发站点是一个实时测试 - 在我合并到 master 之前的最后检查,这会触发将 master 部署到生产站点。
目前,两个站点使用相同的 firebase Firestore 数据库,开发站点上更改的任何文档也会在生产站点上更改。
我想避免的是创建另一个 firebase 项目来将开发代码推送到不同的数据库,因为这意味着我需要一组单独的凭据,并且每次我都会将相同的功能复制到新项目改变他们。这是不可维护的,需要大量工作。
我想要的是开发站点只能访问部分 firestore 数据库,而生产站点可以访问另一部分的方法。
人们如何做到这一点?有可能吗?有没有更好的办法?我能想到的一种替代方法是使用身份验证并创建单独的帐户以使用不同的访问权限进行测试,但这似乎是一种变通方法,而不是理想的解决方案。
您尝试做的事情听起来比 using multiple projects 麻烦得多,后者是已记录且强烈推荐的解决方案。将所有内容都放在一个项目中,在 Firebase 和 Google Cloud 中是一个巨大的 anti-pattern,如果你这样做,它会在长期 运行 中给你带来更多问题,此外还会增加灾难性失败的风险设法在那个项目中配置错误。
如果您应用一些脚本来自动化工作,那么拥有多个这样的项目是完全可维护的。这很常见,我强烈建议您考虑一下这对您有何作用。
您 CI/CD 管道绝对可以从源代码管理中检查您的更新并将它们部署到您设置的任何其他项目环境中。管理用于 CI/CD.
的不同凭据和配置是很常见的