不幸的是,我没有指定目标而运行firebase deploy --only hosting
并多次部署到错误的站点。我想知道是否有可能在VS Code中配置调试选项卡以运行命令以确保我将其部署到正确的站点。
总体而言,我发现在Firebase中管理多个托管站点非常令人沮丧,因为您必须完全按照步骤添加所有目标。
在这个部门,有没有人找到使生活更简单的窍门?
答案 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);