前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >最佳实践丨云开发CloudBase多环境管理实践

最佳实践丨云开发CloudBase多环境管理实践

原创
作者头像
腾讯云开发TCB
修改2021-11-17 20:18:06
6180
修改2021-11-17 20:18:06
举报
文章被收录于专栏:云开发

背景

云开发 CloudBase 提供环境复制能力,方便开发者进行多环境下项目开发。

环境资源复制实践 (环境A -> 环境B)

函数资源

1、云函数代码从 A 环境对应函数拷贝,注意代码中写死的环境 ID A需手动修改为 B。

若函数中使用 Node SDK 且 使用当前环境,建议写法:

代码语言:javascript
复制
const cloudbase = require("@cloudbase/node-sdk")
const app = cloudbase.init({
  env: cloudbase.SYMBOL_CURRENT_ENV // 自动选取当前环境
})

2、函数属性配置如 内存,超时时间,环境变量,定时触发器,VPC,公网访问配置,函数对应云接入配置&鉴权,CLS 日志配置均拷贝,无需开发者操作。

3、函数层不会复制,需手动在 B 中新建层。

数据库资源

  1. 数据库复制时仅在新环境中创建出同名的空集合,表数据需用户在控制台中手动导 (A环境库导出,导入到B环境库)。
  2. 数据库安全规则,索引设置均拷贝,开发者无需操作。

云存储资源

  1. 云存储配置如权限配置,缓存配置均拷贝,无需用户操作
  2. 具体的文件资源,需用户手动导(A 环境导出文件资源,导入到 B 环境)

推荐实践:

  • 安装 cloudbase cli 工具并登陆
代码语言:javascript
复制
npm i -g @cloudbase/cli  
tcb login
  • 下载 A 环境全部文件至本地
代码语言:javascript
复制
# 下载全部文件
tcb storage download / localPath --dir -e A
  • 上传本地文件至 B 环境
代码语言:javascript
复制
tcb storage upload localPath -e B

多环境项目开发实践

1. 开发环境,生产环境区分

基于环境复制能力,可以快速搭建开发 dev 和生产 prod 两套环境(免去了重复建表,重复建函数的操作)。

参考文档:

https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/concepts/environment.html

操作实践

1、云函数端使用SDK 时采用取动态环境写法(类似函数资源复制),避免写死环境 ID。

  • 小程序侧示例
代码语言:javascript
复制
const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})
  • 腾讯云侧示例
代码语言:javascript
复制
const cloudbase = require("@cloudbase/node-sdk")
const app = cloudbase.init({
env: cloudbase.SYMBOL_CURRENT_ENV // 自动选取当前环境
})

2、客户端在开发及生产环境下,分别指定对应环境 ID 即可

代码语言:javascript
复制
wx.cloud.init({
// 此处请填入环境 ID, 环境 ID 可打开云控制台查看
env: config.ENV // dev or prod
})

更进一步,为免去人为操作带来的风险,可通过工程化的方式配置环境 ID,如 开发模式下配置 dev 环境 ID,生产模式下配置为 prod 环境 ID,具体实现此处不展开。

2. 项目协同开发

同环境下,多人协作开发时容易产生脏数据问题,各开发人员可基于项目初始环境复制出各自开发环境,各环境下调试开发互不影响。

开通云开发:https://console.cloud.tencent.com/tcb?tdl_anchor=techsite

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 环境资源复制实践 (环境A -> 环境B)
    • 函数资源
      • 数据库资源
        • 云存储资源
        • 多环境项目开发实践
          • 1. 开发环境,生产环境区分
            • 2. 项目协同开发
            相关产品与服务
            云开发 CloudBase
            云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档