具有不同 Firebase 项目的 Flutter Web 应用程序

Flutter web app with different Firebase projects

我有一个 Flutter 网络应用程序,但由于我们的工作流程,我们使用多个 Firebase 项目(开发、阶段、生产)进行托管。如果我不需要不同的 index.html 文件,这没什么大不了的。

遗憾的是,我们使用 Google 登录,这将需要元 google-signin-client_id 密钥。这在项目之间有所不同。

设置此项目的最佳做法是什么,以便 CI/CD 可以部署它而无需在上传前对 index.html 进行任何更改?这甚至可能吗?

我在某处找到的自己的解决方案:

  • 创建风味文件夹(例如 /web_flavors/dev 和 /web_flavors/prod)
  • 创建一个脚本,在编译之前将 index.html 从那个 flavor 文件夹复制到 /web

通过这种方式,您将始终在构建管道中拥有正确的配置。

我唯一的“问题”是,如果 index.html.

中需要更多 HTML/JScript 代码,我必须维护这两个文件