node.js - 如何将云功能部署到 .firebaserc 中的不同项目?
问题描述
有没有办法.firebaserc
用一个命令将功能部署到里面列出的不同的 firebase 项目?
我有这个样本.firebaserc
{
"projects": {
"default": "project1",
"project2": "project2-abcd"
}
}
更新功能时,我会:
firebase use default && firebase deploy && firebase use project2 && firebase deploy
如果我有大量项目,命令会变得更长,因此我制作了一个节点脚本,可以自动部署到以下所列的所有项目.firebaserc
:
const { promisify } = require("util");
const exec = promisify(require("child_process").exec);
const readFile = promisify(require("fs").readFile);
const deploy = async () => {
try {
const data = await readFile("./.firebaserc", "utf-8");
const projects = Object.keys(JSON.parse(data).projects);
for (const proj of projects) {
console.log(`Deploying functions to ${proj}...`);
const { stdout, stderr } = await exec(
`firebase use ${proj} && firebase deploy`
);
console.log("stdout:", stdout);
console.log("stderr:", stderr);
}
} catch (e) {
console.log(e);
}
};
deploy();
这可行,但我正在尝试寻找替代方案(如果有的话)。
解决方案
你能用--project
国旗吗?
前任。firebase deploy --project=project2
请参阅https://firebase.google.com/docs/cli#use_aliases。
如果您想针对已分配 prod 别名的 Firebase 项目运行单个命令,则可以运行例如 firebase deploy --project=prod。
更新
您想部署 .firebaserc 中列出的所有项目吗?
可以像下面的单行命令一样使用。
前任。
cat .firebaserc | jq '.projects | keys | .[]' | xargs -I {} firebase deploy --project={}
看:
推荐阅读
- authentication - 如何在 Flutter 中设置“X-IW-SESSION”的属性
- android - 如何在一次点击中设置多个功能
- java - 将大文件从 SD 卡复制到 Android 上的内部存储器
- javascript - 制作基于html的计算器时如何在javascript中显示计算历史
- prolog - Prolog中是否有显示每一步的搜索指针的命令?
- python - Python中R的停止功能等价物是什么
- java - 为什么我会收到“线程“main”中的异常 java.lang.IndexOutOfBoundsException:Index 0 out of bounds for length 0 ”
- java - 为什么不能将整数的 HashSet 或 LinkedList 转换为 int[]?
- javascript - 根据用户类型显示/隐藏选择选项
- javascript - 字符串中最长的重复字符 - Javascript