作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有一种方法可以使用单个命令将函数部署到 .firebaserc
中列出的不同 firebase 项目?
我有这个示例 .firebaserc
{
"projects": {
"default": "project1",
"project2": "project2-abcd"
}
}
更新函数时,我会:
firebase use default && firebase deploy && firebase use project2 && firebase deploy
如果我有大量项目,命令会变长,所以我制作了一个 Node 脚本,自动部署到 .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 部署 --project=project2
参见 https://firebase.google.com/docs/cli#use_aliases .
If you want to run a single command against the Firebase project that you've assigned the prod alias, then you can run, for example, firebase deploy --project=prod.
是否要部署 .firebaserc 中列出的所有项目?
可以像下面的一行命令一样使用。
例如
cat .firebaserc | jq '.projects | key | .[]' | xargs -I {} firebase deploy --project={}
参见:
关于node.js - 如何将云函数部署到.firebaserc 中的不同项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61672530/
我是一名优秀的程序员,十分优秀!