Firebase管理具有多个站点的托管

时间:2019-11-25 04:47:28

标签: firebase firebase-hosting firebase-cli firebase-tools

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

总体而言,我发现在Firebase中管理多个托管站点非常令人沮丧,因为您必须完全按照步骤添加所有目标。

在这个部门,有没有人找到使生活更简单的窍门?

1 个答案:

答案 0 :(得分:1)

您可以使用Firebase predeploy and postdeploy hooks实现此目的。在您的项目目录(包含“ public /”,“ functions /”等)中,编辑firebase.json以包含断言,表明目标与您的期望相符。

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

assertMatch.js只是一个简单的脚本,用于比较第一个和第二个命令行参数,如果不匹配则返回非零的退出代码。可能可以将其安装为全局脚本。

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);