首页 > 解决方案 > 如何在测试/开发等不同环境下构建云功能?

问题描述

云功能应在测试和生产等不同环境中显示存储桶名称

基于 Firebase一个文档,我设置了配置

运行时配置.json

{
  "project": {
    "environment": "testing"
  }
}

配置文件没有环境production,因为我不确定从切换到的结构应该testing如何production

索引.ts

exports.bucketName = functions.https.onRequest((req, res) => {
    const bucketName = functions.config().project.environment;
    res.send(bucketName);
});

存储桶名称应根据环境动态更改。

包.json

{
  "name": "functions",
  "scripts": {
    "lint": "tslint --project tsconfig.json",
    "build": "tsc",
    "build-and-watch": "tsc -w",
    "serve": "npm run build && firebase serve --only functions",
    "shell": "npm run build && firebase functions:shell"    
  }
}

有人可以建议为 Cloud Function 切换环境的最佳方法是什么?

例如,类似的命令为 dev 环境npm run build --configuration=test加载测试npm build --configuration=dev环境。

标签: google-cloud-functionsdevelopment-environment

解决方案


正如@Doug Stevenson 建议的那样,根据应该完成这项工作的环境来设置配置。我正在使用 firebase 集,然后部署。


推荐阅读