我有一个使用Firebase后端的React Web应用程序。我目前有2个项目,一个用于测试,一个用于生产。我使用2个不同的分支,并使用Firebase CLI手动部署它们。我想扩展生产场地,并有10多个衍生产品。 我想为每个站点使用其自己的数据库/功能创建一个不同的firebase项目。
这样做的最佳方法是什么?我可以使用自定义.env吗?文件,每个项目一个,用于存储项目配置?
如何使用单个命令(如“ firebase部署生产”)将其部署到多个项目,该命令使用正确的环境配置将构建部署到每个项目。
答案 0 :(得分:1)
我想出了以下方法:
1。为每次旋转创建一个firebase项目(具有自己的托管网址和数据库)
2。将firebase配置变量(例如projectId和api-key)替换为env变量:
const projectId = process.env.REACT_APP_FIREBASE_PROJECT_ID;
const apiKey = process.env.REACT_APP_FIREBASE_API_KEY;
const config = {
apiKey,
projectId,
authDomain: `${projectId}.firebaseapp.com`,
databaseURL: `https://${projectId}.firebaseio.com`,
storageBucket: `${projectId}.appspot.com`,
};
firebase.initializeApp(config);
3。为构建的每个项目分别设置环境变量,并在使用选项-P
指定项目的同时进行部署
REACT_APP_FIREBASE_PROJECT_ID=<projectId> REACT_APP_FIREBASE_API_KEY=<key> yarn build && firebase deploy --only hosting -P <projectId>
4。为每个项目执行cmd(可能可以将它们全部放在一个脚本中,从而能够通过一个命令将其部署到所有项目中)