Firebase CLI-部署时哪个项目ID优先?

时间:2019-07-19 13:47:19

标签: firebase firebase-cli firebase-tools

我只有一个代码库,已将其部署到两个Firebase项目devprod中。

我的.firebaserc包含:

{
  "projects": {
    "default": "dev"
  }
}

但是,如果我输入firebase list,我会看到

┌─────────────────────┬───────────────────────┬─────────────┐
│ Name                │ Project ID / Instance │ Permissions │
├─────────────────────┼───────────────────────┼─────────────┤
│ dev                 │ dev                   │ Owner       │
├─────────────────────┼───────────────────────┼─────────────┤
│ prod (current)      │ prod                  │ Owner       │
└─────────────────────┴───────────────────────┴─────────────┘

我看到这是由于实际的项目ID存储在~/.config/configstore/firebase-tools.json中:

 "activeProjects": {
      "/mnt/d/testfb": "prod"
  }

我想知道确定要使用的Firebase项目ID的优先顺序。我查看了firebase cli github,但不幸的是,尝试跟踪周围的文件时,我有些失落。

可以安全地假设firebase-tools.json是真理吗?如果是这样,.firebaserc文件的用途是什么?

1 个答案:

答案 0 :(得分:0)

请参见https://firebase.google.com/docs/cli/

  

一个.firebaserc文件,用于存储您的项目别名。

.firebaserc文件仅是别名设置。

  

在项目初始化期间选择Firebase项目时,该项目的别名将自动称为default。但是,要允许针对特定Firebase项目运行特定于项目的命令,但使用相同的项目目录,请在您的项目目录中运行以下命令。

     

firebase use alias_or_projectID在项目目录的别名之间切换

     

如果您有一个仅供您使用的开发项目,则可以在每个命令中传递--project标志,或者运行firebase use projectID而不为Firebase项目定义别名。

如果要将以下代码设置为.firebaserc

{
  "projects": {
    "dev": "<dev-project-id>",
    "prod": "<prod-project-id>"
  }
}

您可以使用别名而不是项目ID更改当前的Firebase项目。这样。

  • firebase use dev
  • firebase use prod

如果您运行firebase命令而不使用--project标志,那么firebase命令将针对当前Firebase项目运行。