Firebase 管理多个站点的托管

Firebase Managing Hosting with Multiple Sites

我已经运行最近运行 firebase deploy --only hosting 没有指定目标并且多次部署到错误的站点。我想知道是否可以将 VS Code 中的调试选项卡配置为 运行 命令以确保我正在部署到正确的站点。

总的来说,我发现在 Firebase 中管理多个托管站点非常令人沮丧,因为您必须严格按照步骤添加所有目标。

有没有人找到让这个部门的生活更简单的技巧?

您可以使用 Firebase predeploy and postdeploy hooks 实现此目的。在您的项目目录(包含 "public/"、"functions/" 等)中,编辑您的 firebase.json 以包含您的目标符合您预期的断言。

{
  "functions": {
    // ...
  },
  "hosting": {
    // ...
    "predeploy": [
      "node assertMatch.js \"$GCLOUD_PROJECT\" \"your-desired-project-id\"",
    ]
  }
}

assertMatch.js 只是一个简单的脚本,它比较第一个和第二个命令行参数,如果不匹配,returns 一个非零退出代码。这可能会作为全局脚本安装在某处。

let argv = process.argv.slice(2);
let equal = argv[0] == argv[1];
if (equal) {
    console.log('Assertion passed.')
} else {
    console.log('Assertion failed. "' + argv[0] + '" does not match "' + argv[1] + '".');
}
process.exit(!equal);