【问题标题】:How to set multiple environments for Firebase如何为 Firebase 设置多个环境
【发布时间】:2018-11-29 13:14:09
【问题描述】:

对于我的项目,我使用登台和生产环境。 angular.json 中的 fileReplacements 属性用于更改文件:

"fileReplacements": [
  {
    "replace": "src/environments/environment.ts",
    "with": "src/environments/environment.prod.ts"
  },
  {
    "replace": "src/app.html",
    "with": "src/app.prod.html"
  }
]

使用 .firebaserc 文件在环境之间进行更改。

现在我需要为每个环境使用不同的 firebase 配置文件( firebase.json 和 firebase.prod.json ) 有可能做到吗?我想使用预部署脚本,但不知道如何

【问题讨论】:

    标签: firebase


    【解决方案1】:

    我使用单个 .firebaserc 文件完成了它。您可以添加不同的目标进行部署。

    firebase 目标:应用类型目标名称资源名称

    参考:[https://firebase.google.com/docs/cli/targets && https://firebase.google.com/docs/cli/]

    // firebase.json

    "hosting": [
        {
        "target": "prod",
          "public": "dist/<folder_name>,
          "ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
          "rewrites": [
            {
              "source": "**",
              "destination": "/index.html"
            }
          ]
        }
    ]
    

    // .firebaserc 文件 // 示例:这里的“项目”是你的目标

    {
      "projects": {
        "default": "staging-project",
        "dev": "staging-project",
        "prod": "prod-project"
      },
      "targets": {
        "staging-project": {
          "hosting": {
            "stage": [
              "staging-project"
            ],
            "admin-stage": [
              "your-admin-stage"
            ],
            "admin-prod": [
              "your-admin-prod"
            ],
            "prod": [
              "prod-project"
            ]
          }
        }
      }
    }
    

    //在构建脚本中

    firebase use dev
    firebase deploy --only firestore:rules,hosting:stage,functions...
    

    【讨论】:

    • 太棒了!杰出的。谢谢
    • Hmm.. 当您单独运行“firebase use staging AND firebase deploy --only hosting:staging”命令时,您是否遇到过这个问题,但是当您运行脚本“firebase use staging && firebase deploy --only hosting:staging”失败并出现错误“未指定公共目录,无法部署托管”
    • 需要修改firebase.json文件中的public目录
    • 为每个构建更新 angular.json 中的 outputDirectory。为每个构建在 firebase.json 中放置相同的目录路径
    • 问题出在 firebase-tools 上。只需删除本地一个并更新本地,就没有更多问题了。
    猜你喜欢
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-18
    • 2013-05-08
    • 1970-01-01
    • 2014-11-29
    • 2021-09-23
    相关资源
    最近更新 更多